不同形式之间的沟通

时间:2010-06-14 00:39:44

标签: c# winforms communication

在C#中,使用winforms,使表单相互交流的最佳方法是什么?将数据,消息,字符串等等发送给另一个?

代表?

想法?

3 个答案:

答案 0 :(得分:6)

我们在几个Winform应用程序中成功使用了一个名为Event Pattern的东西。这是一个很好的link,可以帮助您入门。

答案 1 :(得分:3)

您可以在一个表单中创建事件,然后以其他形式注册这些事件。您还可以简单地访问从一个表单到另一个表单的属性。例如,可能在第二种形式的构造函数中,您将传递第一种形式的变量。

听起来你正在寻找的是事件。当某些事件发生时,将调用任何已注册的代理。

tutorial on MSDN for events here

答案 2 :(得分:1)

一切都取决于你想要沟通的内容。

假设它是配置数据;您可以在名为Settings的主窗体上创建一个静态属性,这将暴露您的对象。比所有表单都看到相同的Settings实例,并且所有表单都会看到任何更改。

要获得额外的功劳,您可以实施INotifyPropertyChanged,并让它触发一个事件。这样,如果有任何变化,将通知所有查看设置的表单。