在C#中,使用winforms,让表单相互通信的最佳方式是什么?向对方发送数据、消息、字符串之类的东西?
代表?
想法?
发布于 2010-06-14 08:49:48
我们已经在几个Winform应用程序中成功地使用了一种称为事件模式的东西。这里有一个很好的link,它将帮助您入门。
发布于 2010-06-14 08:41:05
您可以在一种表单中创建事件,然后在另一种表单中注册这些事件。您还可以简单地从一个表单到另一个表单访问属性。例如,在第二个窗体的构造函数中,您可能会为第一个窗体传递一个变量。
不过,听起来你要找的是事件。当某个事件发生时,任何注册的委托都将被调用。
有一个tutorial on MSDN for events here。
发布于 2010-06-14 08:51:21
这一切都取决于你想要沟通的内容。
假设它是配置数据;您可以在主窗体上创建一个名为Settings的静态属性,该属性将公开您的对象。然后所有窗体都会看到相同的Settings实例,并且所有窗体都会看到任何更改。
为了获得额外的积分,你可以实现INotifyPropertyChanged,并让它触发一个事件。这样,如果有任何更改,所有查看设置的表单都会收到通知。
https://stackoverflow.com/questions/3034493
复制相似问题