新手请教:这种ComboBox与Button结合的效果如何实现?
如上图:
根据ComboBox的下拉列表的选项,实现button的不同选择以及自由选择
[解决办法]
- C# code
private void cmbDevity_SelectedIndexChanged(object sender, EventArgs e)//根据combobox选择 { foreach (Control c in Controls) //清空颜色 { if (c is Button) { c.BackColor = Color.Transparent; } } if (this.cmbDevity.Text.Equals("奇数")) { foreach (Control c in Controls) //遍历控件,判断 { if (c is Button && int.Parse(c.Text) % 2 != 0) { c.BackColor = Color.Yellow; } } } else { foreach (Control c in Controls) { if (c is Button && int.Parse(c.Text) % 2 == 0) { c.BackColor = Color.Yellow; } } } }
[解决办法]
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
int index = comboBox1.SelectedIndex;
switch (index)
{
//全选,所有按钮紫色
case 0:
button1.BackColor = Color.Fuchsia;
button2.BackColor = Color.Fuchsia;
button3.BackColor = Color.Fuchsia;
button4.BackColor = Color.Fuchsia;
button5.BackColor = Color.Fuchsia;
button6.BackColor = Color.Fuchsia;
button7.BackColor = Color.Fuchsia;
button8.BackColor = Color.Fuchsia;
button9.BackColor = Color.Fuchsia;
button10.BackColor = Color.Fuchsia;
break;//不要跳到下个分支
case 1://奇数
button1.BackColor = Color.Transparent;
button2.BackColor = Color.Fuchsia;
button3.BackColor = Color.Transparent;
button4.BackColor = Color.Fuchsia;
button5.BackColor = Color.Transparent;
button6.BackColor = Color.Fuchsia;
button7.BackColor = Color.Transparent;
button8.BackColor = Color.Fuchsia;
button9.BackColor = Color.Transparent;
button10.BackColor = Color.Fuchsia;
break;//不要跳到下个分支
case 2://偶数
button1.BackColor = Color.Fuchsia;
button2.BackColor = Color.Transparent;
button3.BackColor = Color.Fuchsia;
button4.BackColor = Color.Transparent;
button5.BackColor = Color.Fuchsia;
button6.BackColor = Color.Transparent;
button7.BackColor = Color.Fuchsia;
button8.BackColor = Color.Transparent;
button9.BackColor = Color.Fuchsia;
button10.BackColor = Color.Transparent;
break;//不要跳到下个分支
case 3://大数
button1.BackColor = Color.Transparent;
button2.BackColor = Color.Transparent;
button3.BackColor = Color.Transparent;
button4.BackColor = Color.Transparent;
button5.BackColor = Color.Transparent;
button6.BackColor = Color.Fuchsia;
button7.BackColor = Color.Fuchsia;
button8.BackColor = Color.Fuchsia;
button9.BackColor = Color.Fuchsia;
button10.BackColor = Color.Fuchsia;
break;//不要跳到下个分支
case 4://小数
button1.BackColor = Color.Fuchsia;
button2.BackColor = Color.Fuchsia;
button3.BackColor = Color.Fuchsia;
button4.BackColor = Color.Fuchsia;
button5.BackColor = Color.Fuchsia;
button6.BackColor = Color.Transparent;
button7.BackColor = Color.Transparent;
button8.BackColor = Color.Transparent;
button9.BackColor = Color.Transparent;
button10.BackColor = Color.Transparent;
break;//不要跳到下个分支
case 5://质数
button1.BackColor = Color.Transparent;
button2.BackColor = Color.Transparent;
button3.BackColor = Color.Fuchsia;
button4.BackColor = Color.Fuchsia;
button5.BackColor = Color.Transparent;
button6.BackColor = Color.Fuchsia;
button7.BackColor = Color.Transparent;
button8.BackColor = Color.Fuchsia;
button9.BackColor = Color.Transparent;
button10.BackColor = Color.Transparent;
break;//不要跳到下个分支
case 6://合数
button1.BackColor = Color.Fuchsia;
button2.BackColor = Color.Fuchsia;
button3.BackColor = Color.Transparent;
button4.BackColor = Color.Transparent;
button5.BackColor = Color.Fuchsia;
button6.BackColor = Color.Transparent;
button7.BackColor = Color.Fuchsia;
button8.BackColor = Color.Transparent;
button9.BackColor = Color.Fuchsia;
button10.BackColor = Color.Fuchsia;
break;//不要跳到下个分支
}
}