0

我在 Windows 2012 中发现了一个奇怪的错误。我有一个简单的窗口(WinForm),带有一个文本框和一个按钮(textBox1 和 button1)。我尝试在表单出现后专注于 textbox1。

private void Find_Paint(object sender, PaintEventArgs e)
{
   textBox1.Focus();           
}

如果我设置它Click并且MouseClick事件停止工作。所以我不能点击按钮。在 Windows 2008 中它的工作。如果评论焦点线 - 也可以。

谁能提出解决方案或替代方案?表单出现后需要在文本框中获取光标

4

1 回答 1

1

您应该改用该Shown事件:

private void Find_Shown(object sender, EventArgs e){
  textBox1.Focus();
}

注意:您使用Paint的事件非常讨厌,每次重新绘制表单时,您textBox1都会集中注意力,Paint每次调整表单大小,状态更改时都会触发事件......我们无法准确确定它触发的时间,但它当您的表单运行时相当频繁地触发。这就是为什么您无法单击并选择表单上的任何内容的原因。那是因为单击或选择控件会触发Paint事件并使您textBox1集中注意力。

于 2013-09-03T05:22:15.467 回答