OnとOffを自由自在に切り替える
チェックボックスはご存じですよね。設定画面とかでよく見るヤツ。使いこなせば、起動中に簡単にパラメータ設定を切り替えられるようなツールを作れます。
CheckBoxクラス
public class CheckBox : Control
例によってControlから継承されてます。
プロパティ
(string) Text {get; set;}
チェックボックス横に表示するテキストを取得、設定します。
(bool) IsChecked {get; set;}
チェックボックスのチェック状態を取得、設定します。
(bool) IsThreeState {get; set;}
チェックボックスを「不定」状態にできるかどうかを取得、設定します。
(ControlBase) Content {get; set;}
チェックボックスのテキスト部分に表示させるコントロールを取得、設定します。Textより優先します。
ControlBase, Controlのプロパティ
表示位置、サイズ、色などの基本設定はこっちです。
イベント
例えばマウスクリックでチェックされた場合はClickとChecked両方のイベントが起きます。
Click
クリックされた。
Checked
チェックされた
Unchecked
チェックが外された
Indeterminate
不定状態にされた
サンプルコード
var checkBox = new CheckBox {
Text = "Check Me!",
BackgroundColor = Color.Green,
ForegroundColor = Color.Yellow,
IsThreeState = true,
IsChecked = true,
Height = 30,
Width = 70,
VerticalAlignment = VerticalAlignment.Center,
HorizontalAlignment = HorizontalAlignment.Center
};
checkBox.Click += (args => Print("pushed!"));
checkBox.Checked += (args => Print("checked"));
checkBox.Unchecked += (args => Print("unchecked"));
checkBox.Indeterminate += (args => Print("Indeterminate"));
Chart.AddControl(checkBox);
コンストラクタに引数はないため、上記のように各プロパティの初期化をすることをおすすめします。
なお、チェックボックスの場合、BackgroundColorはチェックする部分の背景色です。
CheckBoxEventArgsクラス
上記イベント発生時にコールバックされるメソッドの引数です。上記サンプルコード内ならラムダ式内のargsがこの型です。(使ってませんけど)
public class CheckBoxEventArgs : Object
プロパティ
(CheckBox) CheckBox
イベントが発生したチェックボックスを取得します。