【问题标题】:Adding new items to Combo Box when the user clicks on it用户单击时将新项目添加到组合框
【发布时间】:2011-10-25 04:04:21
【问题描述】:

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

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    我更喜欢以下方式。将您的食谱的 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" });
    }
    

    【讨论】:

      【解决方案2】:

      双击 winform 编辑器中的组合框(或为 SelectedIndexChanged 添加事件处理程序),您应该会得到类似的东西

              private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
          { 
          }
      

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

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

      生成的代码会在组件被点击时自动触发。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-06-13
          • 2017-11-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-08-03
          相关资源
          最近更新 更多