我正在创建Windows窗体,它将验证richtextbox中的文本并根据给定的要求获取错误。我现在唯一的问题是,每次richtextbox改变验证过程时,我的意思是每一次按键。我如何设置一个计时器,以便用户每次在richtextbox中编辑一些文本时,都会等待几秒钟来验证文本,而不仅仅是每次按键。需要明确的是,这里是我的代码:在Windows窗体中插入计时器
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
listView1.Items.Clear();
//Requirement.cs is a class where all the functions for formatting is placed.
Requirement req_obj = new Requirement();
req_obj.check_casing(richTextBox1, listView1, errors);
req_obj.check_punctuation(richTextBox1, listView1, errors);
req_obj.check_spacing(richTextBox1, listView1, errors);
req_obj.check_abbreviation(richTextBox1, listView1, errors);
req_obj.check_others(richTextBox1, listView1, errors);
label2.Text = "Warning(s) found:" + req_obj.error_counter;
发生了什么事是,每次在用户更改r.textbox的东西,它会自动验证每一个按键。 我想要的是每次用户编辑文本时设置计时器,用户编辑文本后,计时器计数3,然后执行特定的过程。 我该怎么做?感谢
为什么不使用windows窗体的验证功能?然后,您可以在验证事件中实现您的验证代码。 – 2012-07-31 08:08:41
我已经试过了,但它与textChanged事件一样,每按一次键它都会自动验证。 – neo 2012-07-31 08:10:31
使用计时器也没有意义,只是随机对用户输入进行剔除。使用验证事件,以便在用户选中另一个控件时触发。或者使用确定按钮。 – 2012-07-31 09:02:15