【问题标题】:Win32Exception was unhandled - Visual Basic when clicking on the exit buttonWin32Exception 未处理 - 单击退出按钮时的 Visual Basic
【发布时间】:2013-08-03 18:57:44
【问题描述】:

我正在使用 Microsoft Visual Studio 2010 32 位高级版 (Microsoft Visual Basic 2010) 构建一个表单。当我编译代码时没有任何错误,但是每当我点击退出按钮时,它都会给我这个消息:

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 位高级版。

【问题讨论】:

  • 您不要调用End 来退出程序。这是Application.ExitMe.Close
  • 为什么End 会产生如此神秘的异常更有趣。这是结束程序的一种完全有效的方式。就像 Environment.Exit() 一样,也不再起作用了。可惜没人感兴趣。
  • @HansPassant 在我的整个发展职业生涯中致电End 已向我解释为坏事,就像坏事的坏事一样。它关闭应用程序而不正确关闭所有消息泵。它不允许任何调用代码干净地清理。它可能在某些地方工作得很好,但在其他地方会伤害你。有人告诉我这是不好的做法。
  • @DonA - 好吧,然后使用 Environment.Exit() 。例如,您将在 AppDomain.UnhandledException 的事件处理程序中使用什么。您向用户显示错误,他单击“确定”,然后 Kaboom!两次不少。这是一个相当严重的 Windows 错误,非常新。
  • 8 月 14 日,Windows 更新在我的机器上解决了这个问题。

标签: vb.net visual-studio-2010


【解决方案1】:

您不要调用End 来退出程序。这是Application.ExitMe.Close

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多