在C#中,使用winforms,使表单相互交流的最佳方法是什么?将数据,消息,字符串等等发送给另一个?
代表?
想法?
答案 0 :(得分:6)
我们在几个Winform应用程序中成功使用了一个名为Event Pattern的东西。这是一个很好的link,可以帮助您入门。
答案 1 :(得分:3)
您可以在一个表单中创建事件,然后以其他形式注册这些事件。您还可以简单地访问从一个表单到另一个表单的属性。例如,可能在第二种形式的构造函数中,您将传递第一种形式的变量。
听起来你正在寻找的是事件。当某些事件发生时,将调用任何已注册的代理。
答案 2 :(得分:1)
一切都取决于你想要沟通的内容。
假设它是配置数据;您可以在名为Settings的主窗体上创建一个静态属性,这将暴露您的对象。比所有表单都看到相同的Settings实例,并且所有表单都会看到任何更改。
要获得额外的功劳,您可以实施INotifyPropertyChanged,并让它触发一个事件。这样,如果有任何变化,将通知所有查看设置的表单。