0

現在、WCF アプリケーションを使用しています。コールバックから受け取ったデータを DataGridView に表示する必要があります。これらは私のコードです:

FrmMain フォームから:

private void button1_Click(object sender, EventArgs e)
    {
        InstanceContext callbackInstance = new InstanceContext(new StockExchangeUpdates());
        SubscribingClient.RegisterSubscriberServiceClient proxy = new SubscribingClient.RegisterSubscriberServiceClient(callbackInstance);
        proxy.RegisterSubscriber(Guid.NewGuid());
    }

クラス StockExchangeUpdates

[CallbackBehavior(UseSynchronizationContext = false)]
public class StockExchangeUpdates : IRegisterSubscriberServiceCallback
{
    int ctr = 0;
    FrmMain main = new FrmMain();
    public void passGeneratedNumber(int num)
    {
        try
        {
            ctr = ctr + 1;
            main.dgRandom.Rows.Add(DateTime.Now.ToString("h:mm:ss"), num, ctr);
            // this is not working..
            // Error: "dgRandoms" is inaccessible due to its protection level

        }
        catch (Exception)
        {

            throw;
        }
    }
}

さまざまな方法を試すことに慣れましたが、まだ機能していません。助けてください!どうもありがとう!

4

1 に答える 1

0

DataGridView に別の「修飾子」を設定する必要があるかもしれないと思います。
つまり、"dgRandom" のプロパティ ウィンドウで、プロパティ "Modifiers" を "Public" (または、それで十分な場合は "Internal") に変更します。「プライベート」に設定すると、同じクラス内からのみ「見る」ことができます。

(編集:WPFではなくWindowsフォームを使用していると思います)

于 2012-12-13T06:22:07.550 に答える