c#winform 设置多个 comboBox,当comboBox.SelectedIndex = 1时底色为红色
时间: 2024-10-23 09:19:37 浏览: 21
C#(WinForm) ComboBox和ListBox添加项及设置默认选择项
在C# WinForm中,你可以通过编写事件处理程序来实现这样的效果。当你需要设置多个ComboBox(下拉列表框)并且想要改变选中索引为1时它们的背景颜色,可以这样做:
1. 首先,在每个ComboBox的`SelectedIndexChanged`事件上添加一个事件处理器。这个事件会在用户选择新的选项时触发。
```csharp
private void comboBox_SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox comboBox = (ComboBox)sender;
if (comboBox.SelectedIndex == 1)
{
comboBox.BackColor = Color.Red; // 设置背景色为红色
}
else
{
comboBox.BackColor = SystemColors.Window; // 除1以外恢复默认背景色
}
}
```
2. 然后,确保为每一个ComboBox实例添加这个事件处理器,例如如果你有三个ComboBox,可以在窗体加载完成时注册它们:
```csharp
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
comboBox1.SelectedIndexChanged += comboBox_SelectedIndexChanged;
comboBox2.SelectedIndexChanged += comboBox_SelectedIndexChanged;
comboBox3.SelectedIndexChanged += comboBox_SelectedIndexChanged;
}
// ...其他窗体内容...
}
```
在这个例子中,当comboBox的当前索引等于1时,它的背景颜色会变为红色;如果不是,就会恢复到系统默认的窗口背景色(通常是白色)。
阅读全文