窗体间的传值--委托

起因:我们存在这样一个问题,主窗体调用子窗体并对子窗体进行操作,主窗体获取子窗体返回的结果并进行更进一步的操作

如果是以前可以在进行实例化子窗体的同时将主窗体作为参数传递给子窗体,让子窗体直接控制主窗体来得到子窗体返回的值

这样就出现了一种强耦合形式,即主窗体依赖子窗体,子窗体需要主窗体的一种现象,使得以后再改变子窗体或主窗体都会遇到很大麻烦,不易重构

而现在 我们可以通过委托的形式进行窗体间的传值从而更好的进行解耦

  1.创建一个解耦的类,该类包括 委托,事件,方法等
  2.主窗体通过显示子窗体的触发事件,向解耦类注册自己的一个方法,该方法为通过外界获取信息填充到自身类中(子窗体产生的结果存放到自身类中)
  3.在实例化子窗体时将解耦类进行传输,以保证主窗体和子窗体操作的是同一个解耦类
  4.子窗体调用解耦类里面的方法(该方法观察自身事件有无注册,有无分别进行一些操作<有。通过子窗体传入的参数调用主窗体的方法>)
总结:通过注册事件这一办法,更好的将主窗体和子窗体进行了解耦,不管修改主窗体或子窗体只要解耦类不变  都不会发生更多的操作,并且也进行了更好的封装
因为主窗体不必知道子窗体操作的过程,只需将自己的方法注册到解耦类中就可以进行分离

转载于:https://www.cnblogs.com/ifmb/archive/2010/02/17/1668995.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 不好意思,你的问题似乎不太明确。"c"可能是一个字母,一个单词,或者是其他的某种意思。如果你能够提供更多的背景信息或者明确你想要了解的内容,我将会尽力给你一个更准确的回答。 ### 回答2: 好的,我会用中文来回答您的问题。 C是计算机科学中的一门编程语言,它最初由美国贝尔实验室的丹尼斯·里奇(Dennis Ritchie)在1972年设计和开发。C语言是一种通用的高级编程语言,被广泛用于系统软件、嵌入式系统和应用程序开发等领域。 C语言具有简洁、高效和灵活的特点,它提供了丰富的编程工具和许多底层的操作功能,使得开发者可以更加精确地控制计算机的硬件和软件资源。C语言的语法规则相对简单,易于学习和理解,这也是它成为许多计算机科学教育领域中的第一门编程语言的原因之一。 C语言的应用范围广泛,包括操作系统、编译器、数据库系统、游戏开发和网络应用等。许多著名的软件和系统都是使用C语言开发的,比如UNIX操作系统、Linux操作系统、MySQL数据库等。 另外,C语言还衍生出了许多其他流行的编程语言,比如C++、C#和Objective-C等。这些语言基于C语言,并在其基础上添加了许多新功能和特性,以满足不同领域的需求。 总的来说,C语言在计算机科学中起着重要的作用,它是一门强大而广泛使用的编程语言,为开发者提供了丰富的工具和底层操作能力,使得他们可以更好地控制计算机资源并实现复杂的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值