Windows應用程式進階控制項(一)

來源:互聯網
上載者:User

標籤: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();            }        }


運行:


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.