【问题标题】:What could cause a dialog to hang in a .NET application?什么可能导致对话框在 .NET 应用程序中挂起?
【发布时间】:2014-01-27 15:16:00
【问题描述】:

我正在调查为什么 VB.NET WinForms 应用程序中的对话框窗口偶尔挂起/冻结(每天大约 6 次)。窗口中的控件在视觉上保持活动状态(悬停状态、按下状态等工作),但您不能在输入字段中键入,并且单击按钮不会执行任何操作。即使关闭窗口 [x] 按钮也不起作用。而且您不能将焦点更改为父窗口。

偶然发现的一种解决方法是来回更改屏幕分辨率。这会“解冻”窗口,以便您继续工作。

迁移到 Windows 7 后开始出现该错误。该系统已在 Windows XP 上运行多年,没有出现任何问题。我还不能重现它,所以现在调试不是一个选项。我只是想找出问题的可能来源。

什么会阻止这样的 .NET 应用程序?

【问题讨论】:

  • 您在点击冻结的表格时是否听到“叮”的声音?是否有可能在某处打开模式对话框?我有时会在很多程序中遇到这个问题——我称之为“pop under”。对话框打开并不明显,直到你稍微扔掉它并最终出现。您无法判断它是一直存在还是刚刚出现,因此有时您的操作似乎“解决了”问题。我不知道如何防止这个问题 - 也许提供填充指示对话框所有权的属性。
  • 我们目前认为这不是“流行音乐”,@rheitzman - 但很好
  • 我唯一一次看到这样的冻结,这是关于 UIThread 的工作太多。也许您的某些处理应该在另一个线程中完成。

标签: .net vb.net winforms vb.net-2010


【解决方案1】:

我有一个 vb.net 程序,它也会定期挂起。

一些用户报告说,罗技的设定点(鼠标)软件导致我的程序在启动后不久就死机。在这些情况下,退出 Setpoint 软件可以解决问题。

你在使用 Setpoint 吗?

另外,据我了解,较新版本的 Setpoint 不会导致此冲突。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2021-10-28
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多