2013-08-03 162 views
3

我使用Microsoft Visual Studio 2010 32位Premium(Microsoft Visual Basic 2010)構建表單。當我編譯的代碼沒有任何錯誤,但每當我點擊退出按鈕它給了我這個消息。Win32Exception未處理 - 單擊退出按鈕時的Visual Basic

Win32Exception了未處理」,‘錯誤創建窗口句柄’

什麼爲這個錯誤的原因和如何能解決嗎?

我沒有在大學的實驗室這段代碼,它工作得很好,但是當我在家裏運行它,我得到這個錯誤。

Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click 
    If MsgBox("Are you sure you want to exit the program?", MsgBoxStyle.Exclamation + MsgBoxStyle.YesNo) Then 
     End ' error creating window handle 
    End If 
End Sub 

我正在使用Windows 8 64位和Microsoft Visual Studio 2010 32位Premium。

+0

您不要調用'End'退出程序。它是'Application.Exit'或'Me.Close'! – OneFineDay

+3

爲什麼'End'會產生這樣一個神祕的異常更有趣。這是結束程序的完美方法。就像Environment.Exit()一樣,它也不起作用。太糟糕了,沒有人感興趣。 –

+0

@HansPassant對於我的整個開發職業生涯來說,稱呼'End'已經向我解釋過,就像糟糕的邪惡一面。它關閉應用程序而不正確關閉所有消息泵。它不允許任何調用代碼清理乾淨。它可能在一些地方運行良好,但在其他地方傷害了你。我被告知這只是不好的做法。 – OneFineDay

回答

3

您不要撥打End退出程序。這是Application.ExitMe.Close