[ToolStrip][Tips] プログレスバーを表示する

ToolStripコントロールにプログレスバーを表示するにはToolStripProgressBarクラスを使用します。

ToolStripProgressBarクラスの使用方法は、ProgressBarコントロールの使用方法と変わりません。

ProgressBarコントロールTipsは、過去記事の[Tips][ProgressBar] まとめを参照ください。

下記はToolStripにプログレスバーを表示する例です。

VBの例

'ToolStripに追加するプログレスバー
Private progressBar As New ToolStripProgressBar

' フォームロード時の処理
Private Sub Form8_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    'ToolStripにプログレスバーを追加
    ToolStrip1.Items.Add(progressBar)
End Sub

' タイマー間隔経過時の処理
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
    If progressBar.Value < 100 Then
        'プログレスバーを進捗させる
        progressBar.PerformStep()
    Else
        'タイマーを停止する
        Timer1.Stop()
    End If
End Sub

' [Strat]ボタンクリック時の処理
Private Sub btnStart_Click(sender As System.Object, e As System.EventArgs) Handles btnStart.Click
    'プログレスバーの値を0にする
    progressBar.Value = 0

    'タイマーを開始する
    Timer1.Start()
End Sub

C#の例

// ToolStripに追加するテキストボックス
private ToolStripProgressBar progressBar = new ToolStripProgressBar();

// フォームロード時の処理
private void Form8_Load(object sender, EventArgs e)
{
    // ToolStripにプログレスバーを追加
    toolStrip1.Items.Add(progressBar);
}

// タイマー間隔経過時の処理
private void timer1_Tick(object sender, EventArgs e)
{
    if (progressBar.Value < 100)
    {
        // プログレスバーを進捗させる
        progressBar.PerformStep();
    }
    else
    {
        // タイマーを停止する
        timer1.Stop();
    }
}

// [Start]ボタンクリック時の処理  
private void btnStart_Click(object sender, EventArgs e)
{
    // プログレスバーの値を0にする
    progressBar.Value = 0;

    // タイマーを開始する
    timer1.Start();
}

[ToolStrip][Tips] テキストボックスを表示する

ToolStripコントロールにテキストボックスを表示するにはToolStripTextBoxクラスを使用します。

下記はテキストボックスを使用する例です。

フォーカスを受け取ったときは背景を黄色に、フォーカスを失ったときは背景を白にするイベントを追加しています。

VBの例

'ToolStripに追加するテキストボックス
Dim textBox1 As New ToolStripTextBox

' フォームロード時の処理
Private Sub Form7_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    'イベントの登録
    AddHandler textBox1.GotFocus, AddressOf TextBox_GotFocus
    AddHandler textBox1.LostFocus, AddressOf TextBox_LostFocus

    'ToolStripにテキストボックスを追加
    ToolStrip1.Items.Add(textBox1)
End Sub

' フォーカスを受け取ったときの処理
Private Sub TextBox_GotFocus(sender As Object, e As EventArgs)
    'テキストボックスの背景を黄色にする
    textBox1.BackColor = Color.Yellow
End Sub

' フォーカスを失ったときの処理
Private Sub TextBox_LostFocus(sender As Object, e As EventArgs)
    'テキストボックスの背景を白にする
    textBox1.BackColor = Color.White
End Sub

C#の例

// ToolStripに追加するテキストボックス
private ToolStripTextBox textBox1 = new ToolStripTextBox();

// フォームロード時の処理
private void Form7_Load(object sender, EventArgs e)
{
    //イベントの登録
    textBox1.GotFocus += new EventHandler(TextBox_GotFocus);
    textBox1.LostFocus += new EventHandler(TextBox_LostFocus);

    // ToolStripにテキストボックスを追加
    toolStrip1.Items.Add(textBox1);
}

// フォーカスを受け取ったときの処理
private void TextBox_GotFocus(object sender, EventArgs e)
{
    // テキストボックスの背景を黄色にする
    textBox1.BackColor = Color.Yellow;
}

// フォーカスを失ったときの処理
private void TextBox_LostFocus(object sender, EventArgs e)
{
    // テキストボックスの背景を白にする
    textBox1.BackColor = Color.White;
}

[ToolStrip][Tips] コンボボックスを表示する

ToolStripコントロールにコンボボックスを表示するにはToolStripComboBoxクラスを使用します。

下記はコンボボックスを使用する例です。

VBの例

' フォームロード時の処理
Private Sub Form6_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Dim comboBoxFruits As New ToolStripComboBox

    comboBoxFruits.Items.Add("リンゴ")
    comboBoxFruits.Items.Add("ミカン")
    comboBoxFruits.Items.Add("バナナ")

    'ToolStripにコンボボックスを追加
    ToolStrip1.Items.Add(comboBoxFruits)
End Sub

C#の例

// フォームロード時の処理
private void Form6_Load(object sender, EventArgs e)
{
    ToolStripComboBox comboBoxFruits = new ToolStripComboBox();

    comboBoxFruits.Items.Add("リンゴ");
    comboBoxFruits.Items.Add("ミカン");
    comboBoxFruits.Items.Add("バナナ");

    // ToolStripにコンボボックスを追加
    toolStrip1.Items.Add(comboBoxFruits);
}