C#である値以上またはある値以下に変数の値を維持する
ある変数があって,それは例えばスクロールの位置だったり,増減する数値を格納されるものとする.
で,ある値以上または以下に値が行かないようにしたい,つまり下限や上限を決めたいとする.
このとき,値が変化するたびに発生するイベントを利用し,イベントハンドラで値を制限する処理を行うとする.
この例ではSliderコントロールを使って,0~100の間で変化するスライダーの値を,表示時に20~80に制限する.
if文を使う
private void Slider_ValueChanged(object sender, ValueChangedEventArgs e) { double val = e.NewValue; //e.NewValueは0~100で変化するが //表示させる値としては上限80,下限20に制限する if(val>80) { val = 80; } if(val<20) { val = 20; } SliderValue = val; }
Math.Max(),Min()メソッドを使う
private void Slider_ValueChanged(object sender, ValueChangedEventArgs e) { double val = e.NewValue; //e.NewValueは0~100で変化するが //表示させる値としては上限80,下限20に制限する val = Math.Max(20, Math.Min(80, val)); SliderValue = val; }
こちらのほうがシンプルに書ける.
実行