当IsHandleCreated = true时,C#Form Load方法不会触发

时间:2013-01-18 14:52:49

标签: c# winforms designer

我有一个主窗体,上面有一个按钮,点击后会打开一个新窗体(MyForm)。

 MyForm f = new MyForm();
 f.Method();
 f.Show();

如果我将MyForm设置为局部变量,则MyForm_Load()方法不会触发。但是,如果我做了像

这样的事情
new MyForm.method();

MyForm_Load()方法触发(使用断点测试)。

我理解如果我创建一个变量MyForm,那么IsHandleCreated属性为true,这会干扰被激活的MyForm_Load。无论如何要解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

MyForm_Load()
表单完全加载时

被引发,这意味着它也必须显示。只需致电

MyForm.Show();

展示并举起活动

答案 1 :(得分:0)

验证f.Method()未触发异常。

(原来是评论,因为你说这解决了这个问题而转而回答。)