ParentForm为null(在Form内UserControl内的Button中)!

rob*_*bob 1 c# visual-studio-2008 winforms

我使此代码正常工作!

我在设计时将用户控件放在窗体中的UserControl中有一个按钮。一切运行良好,当我在按钮事件中调用this.ParentForm时,它正确地向我返回了(唯一的)父窗体。

重构之后,我将带有按钮的UserControl移到了另一个NameSpace,并且相同的代码不再起作用。this.ParentForm现在为NULL

我读了MSDN站点,它说仅当控件托管在IE或其他上下文中时,this.ParentForm返回null。但是我只移动了名称空间!

有人有主意吗?

我不能使用其他构造函数将其传递给父窗体,因为在设计时Visual Studio不会渲染该窗体。

小智 5

在将控件添加到窗体之前,请查看您是否正在访问控件的父窗体。

您的代码可以在用户控件类初始化时触发,但是控件尚未添加到Parent窗体中。

尝试将此代码放入“控制负载”事件中。