16

TextBox当它有焦点时,我想为它添加一个偶数。我知道我可以用一个简单textbox1.Focus的方法来检查布尔值......但我不想那样做。

这是我想做的事情:

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

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

4

4 回答 4

21

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

textBox1.GotFocus += textBox1_GotFocus;
于 2012-04-21T01:25:55.093 回答
15
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.");
}

这应该可以满足您的需求,本文描述了调用的不同事件以及调用顺序。您可能会看到更好的活动。

于 2012-04-21T01:28:21.990 回答
9

我赞成 Hans Passant 的评论,但它确实应该是一个答案。我正在 3.5 .NET 环境中开发 Telerik UI,并且 RadTextBoxControl 上没有 GotFocus 事件。我不得不使用 Enter 事件。

textBox1.Enter += textBox1_Enter;
于 2013-07-24T14:30:52.747 回答
2

根据 Hans 的回答,这是您如何包装它并声明处理函数的方法。

namespace MyNameSpace
{
 public partial class Form1 : Form
 {
  public Form1()
  {
   InitializeComponent();
  }

  private void Form1_Load(object sender, EventArgs e)
  {
   txtSchedNum.Enter += new EventHandler(txtSchedNum_Enter);
  }
  protected void txtSchedNum_Enter(Object sender, EventArgs e)
  {
   txtSchedNum.Text = "";
  }
 }
}
于 2019-02-19T03:58:31.557 回答