ProgressBarコントロールでは、バーのスタイルを変更することができます。
バーのスタイルは、StyleプロパティにProgressBarStyle列挙体の値を指定します。
| メンバ名 | 説明 |
|---|---|
| Blocks | 分割されたブロックの数を増加させていくことで進行状況を示す |
| Continuous | バーのサイズを滑らかに連続的に増加させていくことで進行状況を示す |
| Marquee | ProgressBar の上を絶え間なくブロックがスクロールすることで進行状況を示す |
Marqueeに設定した場合は、値を進捗させるPerformStepメソッドを使用できないことに注意してください。
下記はプログレスバーにスタイルを設定する例です。
Windows 7の場合はスタイルがBlocksとContinuousの区別が付きません。
Windows XPでクラシックスタイルにしている場合は、BlocksとContinuousで違いがあることがわかります。
VBの例
="vb">
' フォームロード時の処理
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'★★★バーのスタイルを設定する★★★
ProgressBar1.Style = ProgressBarStyle.Blocks
ProgressBar2.Style = ProgressBarStyle.Continuous
ProgressBar3.Style = ProgressBarStyle.Marquee
'プログレスバーの値を初期化
ProgressBar1.Value = 0
ProgressBar2.Value = 0
ProgressBar3.Value = 0
End Sub
' [Do Something]ボタンクリック時の処理
Private Sub btnDoSomething_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDoSomething.Click
For I As Integer = 1 To 100
Application.DoEvents()
'200mSec スリープ
System.Threading.Thread.Sleep(200)
'値を進捗させる
ProgressBar1.PerformStep()
ProgressBar2.PerformStep()
'***Marqueeに設定した場合はPerformStepは使用できない***
'ProgressBar3.PerformStep()
Next
End Sub
C#の例
// フォームロード時の処理
private void Form3_Load(object sender, EventArgs e)
{
// ★★★バーのスタイルを設定する★★★
progressBar1.Style = ProgressBarStyle.Blocks;
progressBar2.Style = ProgressBarStyle.Continuous;
progressBar3.Style = ProgressBarStyle.Marquee;
// プログレスバーの値を初期化
progressBar1.Value = 0;
progressBar2.Value = 0;
progressBar3.Value = 0;
}
/ [Do Something]ボタンクリック時の処理
private void btnDoSomething_Click(object sender, EventArgs e)
{
for (int i = 0; i < 100; i++)
{
Application.DoEvents();
// 200mSec スリープ
System.Threading.Thread.Sleep(100);
// 値を進捗させる
progressBar1.PerformStep();
progressBar2.PerformStep();
// ***Marqueeに設定した場合はPerformStepは使用できない***
// progressBar3.PerformStep()
}
}
Please follow and like us:



コメント