つ Disabling particular Items in a Combobox
回答を見る限り気合対処しかない模様
Like!
つ Disabling particular Items in a Combobox
回答を見る限り気合対処しかない模様
質問者の意図通りかどうかわかりませんが、
複数のコンボボックス(comboBox1~3)のうち、
何れかで値が選択されると、他のコンボボックスが非表示になるサンプルです。
private void Form1_Load(object sender, EventArgs e)
{
// items
var items = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// コンボボックスにitemsをセット
comboBox1.DataSource = items.ToArray();
comboBox2.DataSource = items.ToArray();
comboBox3.DataSource = items.ToArray();
// SelectedIndexChangedで同じメソッドを呼ぶよう設定
comboBox1.SelectedIndexChanged += new EventHandler(this.comboBox_SelectedIndexChanged);
comboBox2.SelectedIndexChanged += new EventHandler(this.comboBox_SelectedIndexChanged);
comboBox3.SelectedIndexChanged += new EventHandler(this.comboBox_SelectedIndexChanged);
}
private void comboBox_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (Control control in this.Controls)
{
if (control is ComboBox)
{
if (!control.Equals(sender))
{
control.Visible = false;
}
}
}
}
文章に意味不明なところがあるので無理矢理解読すると、
といった意味でしょうか?
@Yamazin さんのは「選択されたコンボボックス以外のコンボボックスを画面から消し去る」というコードです。
書かれている文を素直に解釈すればそうなります。
あと、
グループボックス = 10個
が意味不明です。そこまでの説明にはないグループボックスのことに突然触れても、前の文とどう関係するのかわかりません。
WindowsFormsにはGroupBoxというコントロールが存在しますが、それを指しているのか別のものを自己流でグループボックスと呼んでいるだけなのかどちらでしょう?