TextBox焦点的WinForms事件?

时间:2012-04-21 01:01:10

标签: c# .net winforms

我希望在焦点有效时为TextBox添加偶数。我知道我可以用一个简单的textbox1.Focus来做这个并检查bool值...但我不想这样做。

我希望如何做到这一点:

this.tGID.Focus += new System.EventHandler(this.tGID_Focus);

我不确定EventHandler是否是正确的方法,但我知道这不起作用。

4 个答案:

答案 0 :(得分:17)

您正在寻找GotFocus活动。还有一个LostFocus事件。

textBox1.GotFocus += textBox1_GotFocus;

答案 1 :(得分:14)

this.tGID.GotFocus += OnFocus;
this.tGID.LostFocus += OnDefocus;

private void OnFocus(object sender, EventArgs e)
{
   MessageBox.Show("Got focus.");
}

private void OnDefocus(object sender, EventArgs e)
{
    MessageBox.Show("Lost focus.");
}

这应该做你想要的,this article描述被调用的不同事件和顺序。你可能会看到一个更好的事件。

答案 2 :(得分:8)

我对汉斯帕斯特的评论进行了投票,但这确实应该是一个答案。我正在使用3.5 .NET环境中的Telerik UI,并且RadTextBoxControl上没有GotFocus事件。我不得不使用Enter事件。

textBox1.Enter += textBox1_Enter;

答案 3 :(得分:1)

这里是根据Hans的答案包装它并声明处理函数的方法。

-static