当IsHandleCreated=true时,C#表单加载方法不触发

当IsHandleCreated=true时,C#表单加载方法不触发,c#,winforms,designer,C#,Winforms,Designer,我有一个主窗体,上面有一个按钮,单击它可以打开一个新窗体(MyForm) MyForm f = new MyForm(); f.Method(); f.Show(); 如果我将MyForm设置为局部变量,则MyForm\u Load()方法不会触发。但是如果我做了类似的事情 new MyForm.method(); MyForm\u Load()方法会触发(使用断点测试) 我知道,如果我创建一个变量到MyForm,那么IsHandleCreated属性为true,这会干扰正在触发的My

我有一个主窗体,上面有一个按钮,单击它可以打开一个新窗体(
MyForm

 MyForm f = new MyForm();
 f.Method();
 f.Show();
如果我将
MyForm
设置为局部变量,则
MyForm\u Load()
方法不会触发。但是如果我做了类似的事情

new MyForm.method();
MyForm\u Load()
方法会触发(使用断点测试)

我知道,如果我创建一个变量到
MyForm
,那么
IsHandleCreated
属性为true,这会干扰正在触发的
MyForm\u加载。有没有办法克服这个问题

MyForm_Load()
在窗体完全加载时引发,这意味着它也必须显示。就叫

MyForm.Show();
要显示它并引发事件,请验证
f.Method()
没有触发异常


(最初是一条评论,移动到回答,因为您说这解决了问题)。

对不起,我打电话给f.Show(),我只是忘记在我的问题中包含它,抱歉。对不起,我打电话给f.Show(),我只是忘记在我的问题中包含它,抱歉。f.Method()是什么;做您是否向事件添加了正确的Eventhandler?f.Method触发了一个异常,由于我的设置/我的企业如何处理异常,我无法看到该异常。无论如何,谢谢。
IsHandleCreated
与您显示的代码有什么关系?我从来没有听说过任何干扰这个属性和负载事件…啊哈!谢谢,由于我的企业处理异常的方式,如果没有“公共语言运行时异常”复选框,f.Method()将触发一个不可见的异常。