我有两个组合框。我在第一个组合框中插入一个值,现在我希望我的第二个组合框根据第一个组合框更新其值。我应该怎么做?
最佳答案
处理 SelectedIndexChanged
第一个 ComboBox
的事件,然后根据 SelectedItem
更新第二个组合框第一个 ComboBox
的值。
一个简单的例子(检索 SelectedItem 时没有错误处理):
public partial class Form1 : Form
{
private string[] comboBox1Range = new[] { "A", "B", "C", "D" };
private string[] comboBox2RangeA = new[] { "A1", "A2", "A3", "A4" };
private string[] comboBox2RangeB = new[] { "B1", "B2", "B3", "B4" };
private string[] comboBox2RangeC = new[] { "C1", "C2", "C3", "C4" };
private string[] comboBox2RangeD = new[] { "D1", "D2", "D3", "D4" };
public Form1()
{
InitializeComponent();
comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
comboBox1.Items.AddRange(comboBox1Range);
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string selectedValue = comboBox1.SelectedItem as string;
switch (selectedValue)
{
case "A":
comboBox2.Items.Clear();
comboBox2.Items.AddRange(comboBox2RangeA);
break;
case "B":
comboBox2.Items.Clear();
comboBox2.Items.AddRange(comboBox2RangeB);
break;
case "C":
comboBox2.Items.Clear();
comboBox2.Items.AddRange(comboBox2RangeC);
break;
case "D":
comboBox2.Items.Clear();
comboBox2.Items.AddRange(comboBox2RangeD);
break;
}
}
}
关于c# - 当第一个组合框获得某个值时自动更新组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3528842/