![](/img/trans.png)
[英]populating data to second combo box on first combo box selection change in wpf application
[英]C# Windows Forms how to change values of second combo box based on selection in first combo box
我试图创建一个订购单,因此正在使用组合框,以便让用户选择要订购的商品。 这样,当用户选择要订购的商品时,第二个组合框应更改为可以订购特定商品的尺寸。我已经用所有商品的尺寸填充了第二个组合框,但我是不确定如何限制所选项目的大小。 我尝试使用if语句将addRange添加到第二个组合框,但是这只是复制了组合框末尾的项目。 对此可以提供的任何帮助将不胜感激。 谢谢
private void itemBox_SelectedIndexChanged(object sender, EventArgs e)
{
switch (((ComboBox)sender).SelectedItem as string)
{
case "Name in a Frame":
sizeBox.SelectedIndex = 0;
break;
case "Scrabble Frame":
sizeBox.SelectedIndex = 1;
break;
case "Plaque":
sizeBox.SelectedIndex = 2;
break;
case "Hearts":
sizeBox.SelectedIndex = 3;
break;
case "Now and Forever Print":
sizeBox.SelectedIndex = 4;
break;
case "Pat cushion":
sizeBox.SelectedIndex = 5;
break;
case "Emilia cushion":
sizeBox.SelectedIndex = 6;
break;
}
}
private void sizeBox_SelectedIndexChanged(object sender, EventArgs e)
{
if (sizeBox.SelectedIndex == 0)
{
this.sizeBox.Items.AddRange(new object[]{
"7x5",
"10x8",
"A4",
"Mug"
});
}
}
您可以直接从选择的itemBox更改事件处理程序中直接填充sizeBox集合, sizeBox_SelectedIndexChanged
完全删除sizeBox_SelectedIndexChanged
。
但是,要实现此目的,选择项目后,需要清除sizeBox中的项目。 您可以通过以下方式实现:
sizeBox.Items.Clear();
然后,一旦sizeBox所选索引已更改,就可以添加项目。 我只会使用:
sizeBox.Items.Add("New Size");
出于良好做法,我将删除魔术字符串的使用,也许将它们放在返回适当字符串的Products帮助器类中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.