怎么自动清除textBox内容?

来源:百度知道 编辑:UC知道 时间:2024/06/14 11:08:33
我的要求是在textBox输入内容后10秒后自动清除它,可是我做了这样的代码不行,只输入一个字母就激发了事件,而且事件激发后还很卡机。怎么改?
------------------------------------------------------
----------------------------------------------------这样就可以,谢谢大家
private void Form1_Load(object sender, EventArgs e)
{
this.timer1.Interval = 1000;//1秒相应一次timer的事件
this.timer1.Enabled = true;
}

private void timer1_Tick(object sender, EventArgs e)
{
textBox1.Text = "";
}

最好的解决办法是Timer控件

当TextBox1获得焦点时 打开Timer控件
将Timer控的的时间触发间隔设了10000(10秒)
再在Timer的Tick事件中将
TextBox1.Text="";
就行了

你这样做的话如果输入一长串字符串,每个字符都会触发一下该事件,所以该过程会被执行很多次,就会卡咯
建议把该过程写到失去焦点的事件中。
或者将timer,timer2设置成全局变量,这样每次触发就相当与把他们的值修改了,不会创建那么多个副本

因为你把事件绑定在texchange方法上
textchange就是当textbox的内容发生变化时触发
如果你做的是网页,应该使用js方法实现这个功能
使用js的setInterval或者setTimeout方法实现

有个Timer控件挺好用的
要不就自己写,按你的要求需要用多线程实现

private void Form1_Load(object sender, EventArgs e)
{
this.timer1.Interval = 1000;//1秒相应一次timer的事件
this.timer1.Enabled = true;
}

然后定义一个
int i = 0;
结合下面的事件
private void timer1_Tick(object sender, EventArgs e)
{
i++;
if (i == 10)
{
textBox1.Text = "";
i = 0;//防止溢出
}