关于委托的问题!有点逻辑混乱

煜宸 2013-04-29 09:42:13
刚刚接触委托,有点没搞懂逻辑!
有一个MDI窗体Form,是动态加载界面的,为了修改方便,把每一个界面都写成了一个类Class,需要加载时在主窗体上new一个Class.

当某一个界面加载到主窗体的时候,其中的一个按钮事件弹出一个子窗体

问题是:这个子窗体的关闭的时候要刷新当前界面上的一个控件,这个要怎么处理?

如果用委托的话,是在子窗体上声明委托,在类Class里订阅委托么?
...全文
198 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
煜宸 2013-04-29
  • 打赏
  • 举报
回复
问题解决了!!之前我就是没搞懂 x.Closed += (s, e) => y.txt.Text = x.Result; 这个事件注册要写在哪里 我把他写在new子窗体的按钮的事件处理方法里就可以了!!
煜宸 2013-04-29
  • 打赏
  • 举报
回复
引用 7 楼 sp1234 的回复:
这种话,翻译为可执行的代码,就是
x.Closed += (s, e) => y.txt.Text = x.Result;
这种代码。 这就好像是你抱着一本字典去看流行小说,那些字你都认得,可是未必能够看懂小说。
这样子写的话,事件处理方法要放在子窗体里吧?那子窗体上不是需要实例化这个类么?否则怎么访问控件?
  • 打赏
  • 举报
回复
这种话,翻译为可执行的代码,就是
x.Closed += (s, e) => y.txt.Text = x.Result;
这种代码。 这就好像是你抱着一本字典去看流行小说,那些字你都认得,可是未必能够看懂小说。
煜宸 2013-04-29
  • 打赏
  • 举报
回复
引用 4 楼 sp1234 的回复:
[quote=引用 楼主 u010501237 的回复:] 问题是:这个子窗体的关闭的时候要刷新当前界面上的一个控件,这个要怎么处理?
这其实就是设计逻辑。所以有些人不会设计程序,不是因为笨,而是因为不知道自己在说什么。 “在子窗体关闭的时候”这种话,不就是彻底的事件驱动概念嘛。 而你不理解自己说的话,就说明你把精力都放在去学人家什么时髦的技术名词儿上了,过于追逐技术名词儿的华丽以至于连直截了当的大白话都不敢相信了。[/quote] 让你说对了…… 我好像明白点了,是不是这样 在主窗体调用的类里直接写子窗体Closed事件?
煜宸 2013-04-29
  • 打赏
  • 举报
回复
引用 2 楼 gxingmin 的回复:
这个用委托也行不用委托也行,在主窗体里订阅子窗体的Closed事件就可以了
具体点呢?这个订阅是写在主窗体调用的类里边??还是写在主窗体的类里?
  • 打赏
  • 举报
回复
引用 楼主 u010501237 的回复:
问题是:这个子窗体的关闭的时候要刷新当前界面上的一个控件,这个要怎么处理?
这其实就是设计逻辑。所以有些人不会设计程序,不是因为笨,而是因为不知道自己在说什么。 “在子窗体关闭的时候”这种话,不就是彻底的事件驱动概念嘛。 而你不理解自己说的话,就说明你把精力都放在去学人家什么时髦的技术名词儿上了,过于追逐技术名词儿的华丽以至于连直截了当的大白话都不敢相信了。
煜宸 2013-04-29
  • 打赏
  • 举报
回复
引用 1 楼 RanHouMeiYouZuoRan 的回复:
你说的是用委托 new 个新窗体吧?
不是啊,new一个新窗体就是主窗体上的某个控件触发事件,实例化一个编写好的类,加载界面
gxingmin 2013-04-29
  • 打赏
  • 举报
回复
这个用委托也行不用委托也行,在主窗体里订阅子窗体的Closed事件就可以了
然后没有然 2013-04-29
  • 打赏
  • 举报
回复
你说的是用委托 new 个新窗体吧?

110,552

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧