用户开始键入时使TextBox清除

时间:2013-09-09 21:59:03

标签: c# winforms textbox

我在win表单中有两个文本框,用户将输入信息。我想在用户开始输入时清除文本框。我正在使用TextChanged事件处理程序,因此每次键入它都会擦除,这使我无法在文本框中键入任何内容。这是我正在使用的代码:

private void TXTBX_HourlyRatae_TextChanged(object sender, EventArgs e)
    {
      TXTBX.HourlyRate.Clear();
      TXTBX.HoursWorked.Clear();
    }

据我所知,每当我输入文本框时,我都会执行此事件处理程序,但我不知道如何在第一次输入文本框时才执行它。

3 个答案:

答案 0 :(得分:6)

private bool firsttime = true;

private void TXTBX_HourlyRatae_TextChanged(object sender, EventArgs e)
{
      if (firsttime)
      {
          TXTBX.HourlyRate.Clear();
          TXTBX.HoursWorked.Clear();
          firsttime = false;
      }
}

如果您想在每次进入文本框时都这样做,请处理损失焦点事件

private void TXTBX_HourlyRatae_LostFocus(object sender, System.EventArgs e)
    {

    }       firsttime = true;

答案 1 :(得分:3)

Clear()来电转移到相应的EnterGotFocus个活动中。

答案 2 :(得分:2)

创建一个新的私有类成员:

private bool _userHasEnteredText = false;

仅当此bool为false时才删除文本,然后在第一次清除文本后将此bool设置为true。