我准备了一个关于杂货店管理的计划。在一个地方,我必须把产品类别和产品品牌。产品品牌在一个组合框中,类别在另一个组合框中。我想根据类别组合框中的文本显示更改品牌组合框。例如:如果您在类别组合框中选择巧克力,则品牌组合框会显示“火星”,“士力架”等。请帮我。我想要这个工作的c#代码。谢谢。我是桑杜。
答案 0 :(得分:1)
好吧,我将尝试在Windows窗体中提供一个快速示例。
就像你说的,你有两个组合框类别和品牌,我命名为cmbParent和cmbChild。
我宣布了一些变数:
List<String> listParent = new List<String>();
List<Tuple<String, String>> listChild = new List<Tuple<String,String>>();
在Form_Load上,我做了一些手册列表:
public ComboForm()
{
InitializeComponent();
listParent.Add("Sports");
listParent.Add("Countries");
listParent.Add("Continents");
listChild.Add(new Tuple<String, String>("Sports", "Handball"));
listChild.Add(new Tuple<String, String>("Sports", "Golf"));
listChild.Add(new Tuple<String, String>("Sports", "Skimboarding"));
listChild.Add(new Tuple<String, String>("Countries", "Portugal"));
listChild.Add(new Tuple<String, String>("Countries", "Mozambique"));
listChild.Add(new Tuple<String, String>("Countries", "Mexico"));
listChild.Add(new Tuple<String, String>("Continents", "Asia"));
listChild.Add(new Tuple<String, String>("Continents", "Oceania"));
foreach (var item in listParent)
{
cmbParent.Items.Add(item);
}
}
并在cmbParent上添加了一个事件,当您更改所选项目时,它将更改cmbChild。
private void cmbParent_SelectedIndexChanged(object sender, EventArgs e)
{
String i = cmbParent.Text;
cmbChild.Items.Clear(); //clear the child combo items.
foreach (var item in listChild)
{
if (item.Item1.Equals(i))
{
cmbChild.Items.Add(item.Item2);
}
}
}
我希望这会有所帮助,并给你一个提示。