準備
(なし)
デザイン
1. フォーム (Form1) にグループボックス (groupBox1) を配置します。
2. グループボックス (groupBox1) の左上にチェックボックス (checkBox1) を配置します。
3. グループボックス (groupBox1) 内にテキストボックスを数個配置します。
サンプルコード (C#)
// 名前空間の追加 // (なし) // コード private void Form1_Load(object sender, EventArgs e) { checkBox1.Checked = true; } private void checkBox1_CheckedChanged(object sender, EventArgs e) { foreach (Control item in groupBox1.Controls) { if (item is TextBox) { item.Enabled = checkBox1.Checked; } } }
解説
チェックボックスをチェックしたり、チェックを外したりするたびにグループボックス内のテキストボックスの状態が変わります。
ここで注意することは、グループボックスの左上にチェックボックスを配置した場合でも、そのチェックボックスはグループボックスに含まれるということです。そのため、グループボックスには、テキストボックスしか配置していない場合でも、必ず TextBox であるかを判断して処理する必要があります。
結果
動作確認環境
Visual Studio 2015 Professional (C# 6.0)