本文轉載:http://blog.csdn.net/ziyouli/article/details/7583824
此篇博文不錯:http://blog.csdn.net/sony0732/article/details/2502858
該控件使用的是visual studio2010開發,對TextBox進行了改寫,附帶了驗證功能,不需要開發人員再次對TextBox的內容進行驗證,也不需要在相關的按鈕里寫判斷語句,節省了對內容驗證的時間,下面為大家介紹下控件的功能和用法。
1. 先創建一個項目,在工具欄里點擊鼠標右鍵,彈出菜單中選擇“選擇項”,接着在彈出的窗口中選擇“.net framework組件”面板,點擊下面“瀏覽”按鈕后選中“TzhTechUcLibrary.dll”,點擊確定,這樣就將控件添加到工具欄里了(不要怪我啰嗦哈,要考慮新手
):


2. 在Form1窗體上,添加2個Groupbox控件,7個Label,6個RegexTextBox和2個Button,如圖所示:

3. 分別設置regexTextBox1~5的“驗證”欄屬性為如下圖示:
regexTextBox1(正則表達式為:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*):

regexTextBox2(正則表達式為:^[+-]?\d*[.]?\d*$):

regexTextBox3(正則表達式為:^[+-]?\d*[.]?\d*$):

regexTextBox4(正則表達式為:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*):

regexTextBox5(注意,Validate屬性設置為了Customer):

regexTextBox6(正則表達式為:^[+-]?\d*[.]?\d*$):

4. 雙擊button1,編寫事件:
- private void button1_Click(object sender, EventArgs e)
- {
- MessageBox.Show("button1所有文本框通過驗證");
- }
button2事件:
- private void button2_Click(object sender, EventArgs e)
- {
- MessageBox.Show("button2所有文本框通過驗證");
- }
regexTextBox5切換到事件面板,找到“驗證”項,雙擊CustomerValidated:

編寫代碼:
- private void regexTextBox5_CustomerValidated(object sender, TzhTechUcLibrary.CustomerEventArgs e)
- {
- if (e.Value.Length < 6 || e.Value.Length > 16)
- {
- e.ErrorMessage = "輸入的字符串長度必須要在6~16位之間";
- e.Validated = false;
- }
- }
到此為止,界面設置全部完成,接下來運行程序查看結果:
點擊button1后產生的結果:
regexTextBox1允許為空,所有沒有輸入則不驗證:

regexTextBox1輸入了不合法的郵箱格式:

regexTextBox3沒有輸入錯誤信息顯示在label7上:

regexTextBox3不滿足正則表達式的情況:

regexTextBox4不允許為空,文本框背景出現警告色:

全部驗證通過后,執行了button1_Click事件:

點擊button2產生的效果:
regexTextBox5調用的是自定義驗證事件CustomerValidated進行驗證:


該控件的最大優勢在於開發人員無需在對文本框進行任何的驗證,也不用編寫任何代碼進行處理,簡化了代碼,加快開發速度。
之前的控件版本有問題,重新修改了一版上傳了,最新下載地址:控件演示下載
修正了驗證失敗后還會執行按鈕事件的錯誤,添加了顯示樣式Icon,優化部分代碼,並修改了部分錯誤代碼。
