C# Windows 形成如何根据第一个组合框中的选择更改第二个组合框的值
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 selected change 事件处理程序填充 sizeBox 集合并完全删除 sizeBox_SelectedIndexChanged
。
但是,要实现什么,您需要在选择项目后清除 sizeBox 中的项目。您可以通过以下方式实现:
sizeBox.Items.Clear();
一旦 sizeBox 选定索引发生变化,您就可以添加项目。我会简单地使用:
sizeBox.Items.Add("New Size");
为了更好的练习,我会删除魔术字符串的使用,也许将它们放在 Products 助手 class 中,returns 适当的字符串。
我正在尝试创建一个订单,因此我使用组合框让用户选择要订购的商品。因此,当用户选择要订购的商品时,第二个组合框应更改为可以订购特定商品的尺寸。我已经用所有商品的尺寸填充了第二个组合框,但我不确定如何限制所选项目的大小。我曾尝试使用 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 selected change 事件处理程序填充 sizeBox 集合并完全删除 sizeBox_SelectedIndexChanged
。
但是,要实现什么,您需要在选择项目后清除 sizeBox 中的项目。您可以通过以下方式实现:
sizeBox.Items.Clear();
一旦 sizeBox 选定索引发生变化,您就可以添加项目。我会简单地使用:
sizeBox.Items.Add("New Size");
为了更好的练习,我会删除魔术字符串的使用,也许将它们放在 Products 助手 class 中,returns 适当的字符串。