在c#

时间:2016-05-13 13:28:20

标签: c#

我准备了一个关于杂货店管理的计划。在一个地方,我必须把产品类别和产品品牌。产品品牌在一个组合框中,类别在另一个组合框中。我想根据类别组合框中的文本显示更改品牌组合框。例如:如果您在类别组合框中选择巧克力,则品牌组合框会显示“火星”,“士力架”等。请帮我。我想要这个工作的c#代码。谢谢。我是桑杜。

1 个答案:

答案 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);
            }
        }
    }

我希望这会有所帮助,并给你一个提示。