首页 相关文章 如何在组件(component中)模拟用户控件(UserControl)中FindForm()

如何在组件(component中)模拟用户控件(UserControl)中FindForm()

使用Component编程是一项值得推崇的技术,它既具有可视化的界面编程模式,又不向UserControl那样体积庞大。但是,熟悉UserControl的朋友们都知道,在UserControl类中有一个FindForm()函数,返回UserControl所在的窗体的引用,这将大大方便我们对窗体的控制----尽管这可能有些越俎代庖的味道,但有时我们就需要这种控制能力。
但是,在Component并没有提供这样的函数,你可以使用其它的一些技巧来取得Component所在的窗体的引用,比如在Component的构造函数中使用Application.AddMessageFilter(this),然后取出由窗体发来的消息的句柄,就可以得到窗体的引用,缺点是不能设计时刻就获得窗体引用;比如可以给Component加一个StyleForm的属性,然后你就可以在设计器中用鼠标选择一个,缺点是你必须手动来选择。
今天,花了半天的时间,终于设计出了克服了以上两个缺点的方案,代码如下:

using System;  using System.ComponentModel;  using System.Collections.Gen...[ 查看全文 ]

2016-02-19 标签:

如何在组件(component中)模拟用户控件(UserControl)中FindForm()的相关文章

手机页面
收藏网站 回到头部