【学習】WinFormsでTrackBarを使ってみよう(スライダーで値を調整する)

2026年8月29日

広告

TrackBar は、つまみを左右に動かして数値を選ぶコントロールです。音量や明るさなど、「細かい数字を直接入力するより、感覚的に調整したい値」に向いています。

TrackBarのMinimumが0、Maximumが100で、つまみを動かすとValueが60になることを示す図

今回作るもの

TrackBar を動かすと、現在の値が Label に表示される小さなアプリを作ります。

フォームに配置するコントロール

コントロールName役割
TrackBarvolumeTrackBar0〜100の値を選ぶ
LabelvalueLabel現在値を表示する

TrackBarの基本プロパティ

プロパティ設定例意味
Minimum0最小値
Maximum100最大値
Value50現在の値
TickFrequency10目盛りの間隔

Value は必ず Minimum 以上、Maximum 以下にします。範囲外の値を設定すると ArgumentOutOfRangeException が発生します。

ValueChangedイベントを書く

デザイナーで volumeTrackBar を選び、プロパティウィンドウの雷マークから ValueChanged をダブルクリックします。

private void volumeTrackBar_ValueChanged(object sender, EventArgs e)
{
    valueLabel.Text = $"現在の値: {volumeTrackBar.Value}";
}

ValueChanged は、ユーザーがつまみを動かした場合だけでなく、コードから Value を変更した場合にも発生します。現在値に合わせて画面を更新する用途では、まずこのイベントを使うと分かりやすいです。

初期表示も合わせる

public Form1()
{
    InitializeComponent();

    volumeTrackBar.Minimum = 0;
    volumeTrackBar.Maximum = 100;
    volumeTrackBar.Value = 50;
    valueLabel.Text = $"現在の値: {volumeTrackBar.Value}";
}

Scrollとの違い

イベント主な発生条件
ValueChangedValue が変化したとき。コードからの変更も含む
ScrollユーザーがTrackBarを操作したとき

通常は ValueChanged で十分です。「ユーザーが操作したときだけ処理したい」という場合に Scroll を検討します。

まとめ

  • MinimumMaximum で選択範囲を決める
  • 現在値は Value から取得する
  • 画面の表示を追従させるなら ValueChanged が基本
  • Value は必ず設定した範囲内にする

C# WinForms 入門シリーズの目次へ戻る

訪問数 456 回, 今日の訪問数 6回

広告