C#委托在多窗体中的简单应用

C#委托在多窗体中的简单应用

难点

主窗体产生窗体1和窗体2,两个独立窗体,实现功能为:窗体1操作窗体2中的数据

分析:由于窗体1和窗体2为主窗体创建,故它们无法互相访问,可以使用委托代理。

  1. 需要窗体2中的数据,而只有主窗体能访问窗体2,故主窗体中定义操作窗体2的函数
    如:返回值类型 函数名(参数){具体操作方法}
  2. 在窗体1中定义委托,直接调用该函数进行数据操作
    如:public delegate 返回值类型 委托函数类型名 (参数);public 委托函数类型 委托函数名;
    注意:前面定义的是类型,后面需要用该类型定义委托函数,定义委托函数无需返回值和参数以及函数体
  3. 通过主函数调用窗体1的委托函数注册主函数中的方法

完成

图示:
举例子

这样,在窗体1中的需要地方就可以调用changeNameDel方法来改变窗体2中的name了。

扩展

我们都知道,窗体1中若产生窗体2,则2中public属性变量可以在1中修改,反之,在2中无法修改1窗体的内容。

为了解除这个限制,可以使用委托或者事件。

在2中定义委托或事件,在1中注册该事件到一个函数。此时2窗体调用该委托或者事件即可改变1窗体的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值