1
我有一個名爲Form1
的C#winform,這個winform有一個列表和一個按鈕。 我向該按鈕添加了一個click()
事件,並向該列表添加了一個doubleclick()
事件。 這兩起事件調用相同的方法:(在form1.designer.cs)通過雙擊打開一個新的winform並關閉調用者窗口
this.myList.DoubleClick += new System.EventHandler(this.myMethod);
this.myButton.Click += new System.EventHandler(this.myMethod);
在myMethod
,我想要做如下操作:
打開一種新的winform
Form2
,並使其成爲主動式winform。關閉調用者winform(種類
Form1
),不需要此表單了。
我做這樣的:(在Form1.cs中)
private void myMethod(object sender, EventArgs e)
{
Form2 frm = new Form2();
this.dispose();
}
時myMethod
正在由列表雙擊事件調用,當myMethod
結束,還有一個空指針異常。 當它被按鈕點擊事件調用時,它正常工作。
我也試過this.close()
,並得到相同的行爲。
我的問題:
我應該怎麼寫
myMethod
正常所以它會根據需要進行操作的按鈕單擊事件,也爲列表雙擊事件?按鈕和列表有什麼區別?爲什麼它可以正常工作按鈕,但崩潰的列表?
感謝
調用窗體是否實際關閉? –
您應該調用Form.Close方法,而不是Dispose。 http://msdn.microsoft.com/en-us/library/system.windows.forms.form.close.aspx –
我試着用this.Close以及同樣的問題。 – user1439691