你能解释为什么会这样吗?以下是重现异常的步骤:
- 在表单上拖放一个文本框。添加任何其他可聚焦的控件,例如窗体上的按钮。
为该 TextBox 添加 2 个事件处理程序,如下所示:
private void textBox_GotFocus(object sender, EventArgs e){ ((TextBox)sender).HideSelection = false; //<-- exception highlighted at here. } private void textBox_LostFocus(object sender, EventArgs e){ ((TextBox)sender).HideSelection = true; }
运行窗体,先点击文本框,然后点击按钮再点击文本框,异常会抛出:“Win32Exception - 错误创建窗口句柄”。
该代码只是为了在 textBox 获得焦点并失去焦点时相应地更改 HideSelection 。
更新
我不知道为什么这么不稳定,我创建了另一个项目,现在问题不同了,没有例外,但是一个无限循环使文本框闪烁,表单似乎没有响应,CPU使用率被消耗约 17-20%。最后一个演示仍然打开,该演示仍然Win32Exception
抛出。一点头绪都没有。现在两个项目的代码是一样的,但问题是不同的。