如何向textBox textchanged事件添加规则?

时间:2015-12-07 01:24:55

标签: c# .net winforms

我想做的是:

  1. 当用户开始在textBox2中输入任何内容时,首先将其设为空,然后开始显示用户正在键入的内容。

  2. 然后,如果用户删除了他正在输入的内容,则会再次显示原始文本。

  3. 现在它的作用是我需要自己删除里面的文字,但是当我尝试输入任何东西时,我再次看到原始文本,因为它是空的。

    private void textBox2_TextChanged(object sender, EventArgs e)
            {
                if (textBox2.Text != "" || textBox2.Text == "Enter Email Account")
                {
                    textBox2.Text = "Enter Email Account";
                    button2.Enabled = false;
                }
                else
                {
                    button2.Enabled = true;
                }
            }
    

1 个答案:

答案 0 :(得分:1)

你应该使用水印。但是如果您希望在开始时执行此操作,请在属性中设置默认值。 您首先需要在输入保留事件期间创建事件处理程序;

private void Form1_Load()
    {
        textBox1.Text = "Enter Email Account";
        textBox1.GotFocus += new EventHandler(textBox1_GotFocus);
        textBox1.LostFocus += new EventHandler(textBox1_Leave);
    }

然后在输入时,应删除水印文字;

protected void textBox1_GotFocus(object sender, EventArgs e)
    {
        if (textBox1.Text == "Enter Email Account")
        { 
            textBox1.Text = "";

        }
    }

然后重新检查离开事件;

protected  void textBox1_Leave(object sender, EventArgs e)
        {
            if (textBox1.Text != "")
            { 
                textBox1.Text = "Enter Email Account";
            }
         }