日期:2014-05-18  浏览次数:20811 次

关于用户组件内访问父窗体的问题!
比如我建了一个用户自定义组件UserControl1

拖一个组件到Form1,当UserControl1初始化时我可以动态向Form1中添加一个控件,比如Button1,类似在Form1中执行 
Button Button1=new Button();
this.Controls.Add(Button1);

看到在UserControl1里面有一个ParentForm,但这个对象为null,请问这个如何解决?


------解决方案--------------------
一般可以使用属性或者事件来和外部通讯。

千万不要直接传窗体作为参数,不然你的这个控件非得在这个窗体中才能用了,那么你做控件就失去了意义。
------解决方案--------------------
用UserControl1.FindForm
或者将窗体实例传递给usercontrol