【发布时间】:2012-02-06 08:52:48
【问题描述】:
我有一个在 3.5 框架下开发的 winform 应用程序。间歇性地,应用程序中的按钮变得无响应。该应用程序从不在标题中显示“未响应”,而只是按钮。即使我在按钮点击代码中设置了一个断点,当按钮被点击时,控件也永远不会出现!!!
可能是什么原因?
【问题讨论】:
-
您是在更新表单中的数据还是在等待数据库响应?你能告诉我们一些代码来重现这个问题吗?谢谢。
我有一个在 3.5 框架下开发的 winform 应用程序。间歇性地,应用程序中的按钮变得无响应。该应用程序从不在标题中显示“未响应”,而只是按钮。即使我在按钮点击代码中设置了一个断点,当按钮被点击时,控件也永远不会出现!!!
可能是什么原因?
【问题讨论】:
可能的原因是您正在 UI 线程中执行某些操作(访问数据库、连接到 Internet、读取文件等),所以它很忙。
解决办法如下:
【讨论】:
在您修复接受率之前,最可能的答案是 Button Click 事件丢失了它的 Handles 子句。在 Vb.Net 中很容易看到 Handles xyz 事件:
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
在 c# 中,您必须深入了解表单构造函数中的 InitializeComponent (F12) 调用。然后检查您的点击分配了事件的按钮:
this.Button1.Click += new System.EventHandler(this.Button1_Click);
【讨论】: