Imports Infragistics.Win.UltraWinStatusBar
...
Dim i As Integer
For i = 1 To 100
Me.UltraStatusBar1.Panels("Progress").ProgressBarInfo.Value = i
Me.UltraStatusBar1.Refresh()
System.Threading.Thread.Sleep(50)
Next
プログレス バー スタイルのパネルには、プログレス バーとそれに関連付けられたラベルが表示されます。このパネルを使用すると、処理の完了まで後どれくらいかかるのかなど、時間のかかる処理に関するフィードバックをユーザーに提供できます。
Progress スタイルのパネルをデザインタイムに設定するには:
WinStatusBar を Windows Formsに追加します。
プロパティ ページで、Panels プロパティまで下にスクロールします。省略ボタンをクリックして Panels コレクションを表示します。
[追加] ボタンをクリックします。これで、新しいパネルが追加されます。
パネルの Style を "Progress" に設定します。Key プロパティを "Progress" に設定することで一意の名前を指定します。
ProgressInfo オブジェクトを開き、さまざまなプロパティを検査します。標準のプログレス バーのプロパティをミラーすることに注意してください。さらに Appearance オブジェクトがあります。
希望に応じて色とフォントを変更します。この例では他のプロパティはそのままにします。選択するパネルにプログレス バーが表示されます。
上記の手順でステータス バーにプログレス バーを配置しても、測定すべき進捗状況が現在ないため、何も表示されません。プログレスを表示できるシンプルなプロセスを提供するには、ボタンをアプリケーションに追加し、Click イベントに以下のコードを配置します。
Visual Basic の場合:
Imports Infragistics.Win.UltraWinStatusBar
...
Dim i As Integer
For i = 1 To 100
Me.UltraStatusBar1.Panels("Progress").ProgressBarInfo.Value = i
Me.UltraStatusBar1.Refresh()
System.Threading.Thread.Sleep(50)
Next
C# の場合:
using Infragistics.Win.UltraWinStatusBar;
...
for(int i=1; i$$<=$$100; i++)
{
this.ultraStatusBar1.Panels["Progress"].ProgressBarInfo.value = i;
this.ultraStatusBar1.Refresh();
System.Threading.Thread.Sleep(50);
}
ランタイムの場合
ランタイムにパネルを追加してそのタイプを "Progress" に設定するには、次のコードを使用します。
Visual Basic の場合:
Private Sub WinStatusBarQuickTourProgressBarPanel_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Me.UltraStatusBar1.Panels.Add("Progress", PanelStyle.Progress)
Me.UltraStatusBar1.Panels("Progress").ProgressBarInfo.Label = "value"
Dim i As Integer
For i = 1 To 100
Me.UltraStatusBar1.Panels("Progress").ProgressBarInfo.Value = i
Me.UltraStatusBar1.Refresh()
System.Threading.Thread.Sleep(50)
Next
End Sub
C# の場合:
private void WinStatusBarQuickTourProgressBarPanel_Load(object sender, System.EventArgs e)
{
this.ultraStatusBar1.Panels.Add("Progress", Infragistics.Win.UltraWinStatusBar.PanelStyle.Progress);
this.ultraStatusBar1.Panels["Progress"].ProgressBarInfo.Label = "value";
for(int i=1; i$$<=$$100; i++)
{
this.ultraStatusBar1.Panels["Progress"].ProgressBarInfo.value = i;
this.ultraStatusBar1.Refresh();
System.Threading.Thread.Sleep(50);
}
}