我在Windows 2012中发现了一个奇怪的错误。我有一个简单的窗口(WinForm),带有一个文本框和一个按钮(textBox1和button1)。我尝试在表单出现后专注于textbox1。
private void Find_Paint(object sender, PaintEventArgs e)
{
textBox1.Focus();
}
如果我将其设置为Click
并且MouseClick
事件停止工作。所以我不能点击按钮。
在Windows 2008中它的工作。如果评论焦点线 - 也可以。
谁可以提出解决方案或者替代方案?表单出现后需要将光标放在文本框中
答案 0 :(得分:1)
您应该使用Shown
事件:
private void Find_Shown(object sender, EventArgs e){
textBox1.Focus();
}
注意:您使用了Paint
这个非常讨厌的事件,每次重新绘制表单时,textBox1
都会被关注,Paint
事件是每次表单调整大小时都会触发,状态更改,...我们无法准确确定它发出的时间,但是当表单运行时它会频繁触发。这就是为什么你不能点击并选择表单上的任何内容的原因。这是因为点击或选择控件会触发Paint
事件,然后让您textBox1
成为焦点。