在C# winform编程中,我们经常会遇到多个窗口间需要传递数值的问题。这种应用需求有多种解决方法,此处使用委托来解决。
工具/原料
visual studio 2015
方法/步骤
1
进行主子对话框间传递数值,至少需要两个窗体,两个可编辑文本,两个按钮按照需求搭建测试环境,如图
2
代码可以很简洁,但是必须先了解委托的基本概念委托是用户自定义的类,它定义了方法的类型。储存的是一系列具有相同参数和返回类型方法的地址列表,调用委托时,此委托列表的所有方法都将被执行。个人如此理解的:1、定义一个需要使用的函数,加上delegate,作为委托定义。2、用此委托定义去声明一个事件。在一处代码触发此事件,那么委托的另一端,执行此事件。
3
这是完整工程的代码结构(没有调整窗口问题)主窗体1、根据需求,定义一个委托,delegate+返回类型+委托类型名+参数列表2、声明一个主窗体form1的委托事件3、点击按钮button1后新建子窗体form2,并显示子窗体4、注册form2的委托事件,用于触发委托事件后,在主窗体form1内进行操作5、点击按钮button2后触发主窗体form1声明的委托事件6、执行form2的委托触发事件
4
子窗体1、根据需求,定义一个委托,delegate+返回类型+委托类型名+参数列表2、声明一个子窗体form2的委托事件3、在子窗体新建过程中(可自定义)注册form1的委托事件,用于触发委托事件后,在子窗体form2内进行操作4、执行form1的委托触发事件.5、点击按钮button1后触发子窗体form2声明的委托事件,在主窗体form1内执行
5
演示结果如图,主界面与子界面可以互相发送数据
6
总结:委托通讯比较简单,在理解后可以开发它其他的更多用法!
注意事项
发送“主子对话框间传递数值”获取源码
上一篇:C#中自定义事件的用法
下一篇:网络互助平台申请互助后的拨款流程