windows 2012中焦点后的C#鼠标单击事件

windows 2012中焦点后的C#鼠标单击事件,c#,windows,winforms,focus,mouseclick-event,C#,Windows,Winforms,Focus,Mouseclick Event,我在windows 2012中发现了一个奇怪的错误。我有一个简单的窗口(WinForm),它有一个文本框和一个按钮(textBox1和button1)。在表单出现后,我会尝试关注textBox1 private void Find_Paint(object sender, PaintEventArgs e) { textBox1.Focus(); } 如果我将其设置为单击和鼠标单击事件停止工作。所以我不能点击按钮。 在windows 2008中,它是有效的。如果注释

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

private void Find_Paint(object sender, PaintEventArgs e)
{
   textBox1.Focus();           
}
如果我将其设置为
单击
鼠标单击
事件停止工作。所以我不能点击按钮。
在windows 2008中,它是有效的。如果注释焦点行-也有效


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

您应该使用
显示的事件:

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

注意:您使用了
绘制
事件,这将非常糟糕,每次重新绘制表单时,您的
文本框1
都会被聚焦,每次调整表单大小、更改状态时,
绘制
事件都会被触发。。。我们无法确定它触发的确切时间,但在窗体运行时,它会相当频繁地触发。这就是为什么您不能单击并选择表单上的任何内容。这是因为单击或选择控件会触发
Paint
事件,并使您的
textBox1
集中起来。

这有点奇怪,因为原始应用程序将在2008年在windows环境中运行,并按预期工作。是的,展示的活动实际上更好。非常感谢。