我正在創建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