標籤:winform errorprovider控制項 helpprovider控制項 timer控制項 progressbar控制項
1.ErrorProvider控制項
(1)用途:在不影響使用者操作的情況下向使用者顯示有錯誤發生,一般在驗證使用者輸入的資料是常用到該控制項,這裡就好像web應用中的CompareValidator等驗證控制項差不多。
(2)一般通過ErrorProvider控制項的SetError方法設定指定控制項的錯誤。
public void SetError(Control control,string value)
參數control表示要為其設定錯誤描述字串的控制項
參數value表示描述錯誤資訊的字串
(3)執行個體代碼:
一般判斷邏輯都寫在後台控制項自身的Validating事件中的。
private void textBox1_Validating(object sender, System.ComponentModel.CancelEventArgs e) { if (textBox1.Text == "")//判斷是否輸入商品名稱 { errorProvider1.SetError(textBox1, "不可為空");//如果沒有輸入則啟用errorProvider1控制項 } else { errorProvider1.SetError(textBox1, "");// errorProvider1控制項不顯示訊息 } } private void textBox2_Validating(object sender, System.ComponentModel.CancelEventArgs e) { if (textBox2.Text == "")//判斷是否輸入 { errorProvider2.SetError(textBox2, "不可為空");//設定errorProvider2的錯誤提示 } else { try { int x = Int32.Parse(textBox2.Text);//判斷是否輸入數字,如果不是數字會出現異常 errorProvider2.SetError(textBox2, "");// errorProvider2控制項不顯示任何錯誤資訊 } catch { //如果出現異常,設定errorProvider2控制項的錯誤資訊 errorProvider2.SetError(textBox2, "請輸入一個數"); } } } private void textBox3_Validating(object sender, System.ComponentModel.CancelEventArgs e) { if (textBox3.Text == "")//判斷是否輸入 { errorProvider3.SetError(textBox3, "不可為空");//設定errorProvider3顯示的錯誤訊息 } else { errorProvider3.SetError(textBox3, "");// errorProvider3控制項不顯示任何訊息 } }
運行:
2.HelpProvider控制項
這個就不多說了,主要是調用協助檔案的。
主要是HelpNamespace這個用來指定協助檔案名稱的屬性和SetShowHelp(control,value)這個方法
注意:首先在程式的bin檔案中建立Help.htm協助文檔。
主要代碼:
string strPath="Help.htm";//設定協助檔案的位置
helpProvider1.HelpNamespace=strPath;//設定HelpNamespace屬性,設定協助檔案路徑
helpProvider1.SetShowHelp(this,true);//設定方法指定是否顯示控制項的協助資訊
3.Timer控制項------重要,常用
(1)用途:定期引發事件,時間間隔的長度由其Interval屬性定義,其屬性值以毫秒為單位。
啟動該控制項,則每個事件間隔引發一次Tick事件,我們可以在Tick事件中添加要執行操作的代碼。
(2)Interval屬性用於設定計時器開始計時的事件間隔。
public int Interval{get;set;}
該值表示計時器每次開始計時之間的間隔毫秒數,該值不小於1.
(3)Timer控制項的Start方法和Stop方法分別用來啟動和停止計時器
(4)執行個體部分重要代碼:顯示當前的系統時間
private void Form1_Load(object sender, EventArgs e) { timer1.Interval = 1000;//設定Interval 屬性為1000毫秒 } private void timer1_Tick(object sender, EventArgs e)// timer1控制項的Tick事件 { textBox1.Text = DateTime.Now.ToString();//擷取系統當前日期 }
運行:
4.ProgressBar控制項-----重要,常用
(1)用途:通過在水平放置的方框中顯示適當數目的矩形塊來指示工作的進度,工作完成後,進度條被填滿,進度條用於協助使用者瞭解等待一項工作完成的進度,所以是一種很好的人機互動的控制項。
(2)重要的屬性和方法
Value 表示操作過程中已完成的進度
Minimum 設定進度條的最小值
Maximum 設定進度條的最大值
Step 指定Value屬性遞增的值
PerformStep 遞增Step的值
(3)執行個體部分重要的代碼
private void button1_Click(object sender, EventArgs e) { progressBar1.Value = 0;//設定進度條的初始值 progressBar1.Minimum = 0;//設定progressBar1控制項的Minimum值為0 progressBar1.Maximum = 500;//設定progressBar1的Maximum值為500 progressBar1.Step = 1;//設定progressBar1的增值為1 for (int i = 0; i < 500; i++)//調用for語句迴圈遞增 { progressBar1.PerformStep();//使用PerformStep方法按Step值遞增 textBox1.Text = "進度值:" + progressBar1.Value.ToString(); } }
運行: