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”,如果足够的话)。如果设置为“私人”,则只能在同一个班级内“看到”。

(编辑:我假设您使用的是 Windows 窗体而不是 WPF)

于 2012-12-13T06:22:07.550 回答