C#窗体之间如何通信_辩一辩_百度空间

问题一:该如何把窗体一里的数据传递到窗体二里面,如何把窗体二里的数据传回到窗体一里?

答:改写窗体二的构造函数,比如,你想传递一个字符串到窗体二,可以把窗体二的构造函数改成:

public Form2(string message)
{
            InitializeComponent();
}

然后,在窗体一里生成Form2对象的时候,把想要传递的字符串通过构造函数传递过去:

如Form2 f2=new Form2("my message");

如果将来需要用到f2里的一些数据,可以在Form2里设置一些公有属性,然后利用上面的这个f2来读取这些属性的值。

=====================================================
也可以定义一些静态数据,因为静态数据是所有的类里都可以访问的。

这样的话,窗体二对静态数据的修改也可以在窗体一里被读取到。

=====================================================

问题二:如何让窗体二通知窗体一去做一些事?比如,我让窗体二的一个公有属性的值变了,如何让窗体一知道这个值已经变了,并做一定的处理?难道得让窗体一一直循环检测这个值吗?

答:不需要循环检测。你可以在窗体一里定义一个委托,用来处理Form2传来的消息。然后把这个委托用问题一的方法,通过构造函数传递给Form2,这样,Form2就可以调用这个委托,使Form1执行相应的函数。



郑重声明:资讯 【C#窗体之间如何通信_辩一辩_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——