用户单击时将新项添加到组合框

时间:2011-10-25 04:04:21

标签: c# winforms

我有一个列出食谱名称的组合框。食谱保存在目录中。当用户点击组合时,我需要添加/删除项目并显示新的新下拉列表。我可以使用哪个事件来更新列表

3 个答案:

答案 0 :(得分:6)

我更喜欢以下方式。将您的食谱的ObservableCollection添加到类成员:

ObservableCollection<Recipe> recipeList = new ObservableCollection<Recipe>();

设置组合框的数据源并订阅Click EventHandler:

comboBox1.DataSource = recipeList;
comboBox1.Click += new EventHandler(comboBox1_Click);

在组合框的点击处理程序中,您可以将项目添加到列表中并“通过魔法”(由于可观察的模式)项目将显示在组合框中

void comboBox1_Click(object sender, EventArgs e)
{
    recipeList.Add(new Recipe { Name = "Spagetti Bolognese" });
}

答案 1 :(得分:0)

您可以使用ComboBox Selected Index Changed事件,但请确保在第一次加载时有默认值。

答案 2 :(得分:0)

双击winform编辑器中的组合框(或为SelectedIndexChanged添加事件处理程序),你应该得到像

这样的东西
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    { 
    }

每次用户选择某个项目时都会触发,然后您可以使用comboBox1.Items.Add("test");或类似内容修改项目。

如果您的意思是每次单击组合框时列表都会更改,您可以利用Click事件。转到(组合框的)属性,然后转到事件,然后双击Click。  example

这应生成在单击组件时自动触发的代码。