我在win表单中有两个文本框,用户将输入信息。我想在用户开始输入时清除文本框。我正在使用TextChanged
事件处理程序,因此每次键入它都会擦除,这使我无法在文本框中键入任何内容。这是我正在使用的代码:
private void TXTBX_HourlyRatae_TextChanged(object sender, EventArgs e)
{
TXTBX.HourlyRate.Clear();
TXTBX.HoursWorked.Clear();
}
据我所知,每当我输入文本框时,我都会执行此事件处理程序,但我不知道如何在第一次输入文本框时才执行它。
答案 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()
来电转移到相应的Enter
或GotFocus
个活动中。
答案 2 :(得分:2)
创建一个新的私有类成员:
private bool _userHasEnteredText = false;
仅当此bool为false时才删除文本,然后在第一次清除文本后将此bool设置为true。