C# 控制元件 [2] : ProgressBar (顯示百分比)
阿新 • • 發佈:2019-01-11
1 繼承關係
Object→MarshalByRefObject→Component→Control→ProgressBar
ProgressBar表示Windows進度欄控制元件。
2 重要屬性
序號 | 屬性 | 型別 | 用法 |
---|---|---|---|
1 | pBar.Visible | bool | 獲取或設定進度條控制元件可見或不可見 |
2 | pBar1.Minimum | int | 獲取或設定控制元件範圍的最小值。預設值為0。 |
3 | pBar1.Maximum | int | 獲取或設定控制元件範圍的最大值。預設值為 100。 |
4 | pBar1.Value | int | 獲取或設定進度欄的當前位置。預設值為 0。 |
5 | pBar1.Step | int | 獲取或設定呼叫 PerformStep() 方法增加進度欄進度的步長,預設值為 10。 |
3 示例
3.1 製作簡單的進度條
①winForm窗體拖入一個ProgressBar控制元件,一個button控制元件,用於觸發進度條。
②窗體程式碼加入如下函式,在按鈕click事件函式中加入startProgress()
private void startProgress() { // 顯示進度條控制元件. pBar1.Visible = true; // 設定進度條最小值. pBar1.Minimum = 1; // 設定進度條最大值. pBar1.Maximum = 15; // 設定進度條初始值 pBar1.Value = 1; // 設定每次增加的步長 pBar1.Step = 1; // 迴圈執行 for (int x = 1; x <= 15; x++) { // 每次迴圈讓程式休眠300毫秒 System.Threading.Thread.Sleep(300); // 執行PerformStep()函式 pBar1.PerformStep(); } pBar1.Visible = false; MessageBox.Show("success!"); } private void button1_Click(object sender, EventArgs e) { startProgress(); }
效果如下:
3.2 進度條顯示百分比
方法參考:追夢使者87的部落格
主要步驟:
①為ProgressBar新增Graphics物件
②使用DrawString()繪製文字
注:DrawString(String, Font, Brush, RectangleF)//繪製的文字,字型,畫刷,文字位置
改寫startProgress()函式
private void startProgress()
{
pBar1.Visible = true;// 顯示進度條控制元件.
pBar1.Minimum = 1;// 設定進度條最小值.
pBar1.Maximum = 15;// 設定進度條最大值.
pBar1.Value = 1;// 設定進度條初始值
pBar1.Step = 1;// 設定每次增加的步長
//建立Graphics物件
Graphics g = this.pBar1.CreateGraphics();
for (int x = 1; x <= 15; x++)
{
//執行PerformStep()函式
pBar1.PerformStep();
string str = Math.Round((100 * x / 15.0), 2).ToString("#0.00 ") + "%";
Font font = new Font("Times New Roman", (float)10, FontStyle.Regular);
PointF pt = new PointF(this.pBar1.Width / 2 - 17, this.pBar1.Height / 2 - 7);
g.DrawString(str, font, Brushes.Blue, pt);
//每次迴圈讓程式休眠300毫秒
System.Threading.Thread.Sleep(300);
}
pBar1.Visible = false;
//MessageBox.Show("success!");
}
效果如下: