【发布时间】:2011-10-25 04:04:21
【问题描述】:
我有一个列出食谱名称的组合框。配方保存在一个目录中。当用户单击组合时,我需要添加/删除项目并显示新的新下拉列表。我可以使用哪个事件来更新列表
【问题讨论】:
我有一个列出食谱名称的组合框。配方保存在一个目录中。当用户单击组合时,我需要添加/删除项目并显示新的新下拉列表。我可以使用哪个事件来更新列表
【问题讨论】:
我更喜欢以下方式。将您的食谱的 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" });
}
【讨论】:
双击 winform 编辑器中的组合框(或为 SelectedIndexChanged 添加事件处理程序),您应该会得到类似的东西
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
每次用户选择一个项目时都会触发它,然后您可以使用comboBox1.Items.Add("test"); 或类似的东西修改项目。
如果您的意思是每次单击组合框时都会更改列表,那么您可以利用 Click 事件。转到(组合框的)属性,然后转到事件,然后双击单击。
生成的代码会在组件被点击时自动触发。
【讨论】:
您可以使用 ComboBox Selected Index Changed 事件,但请确保在第一次加载时具有默认值。
【讨论】: