如何使用c#代码创建新的组合框?

时间:2016-04-29 11:01:11

标签: c# events combobox

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {

        ComboBox item = new ComboBox();

        item.Name = "subCat";
        item.Location = new System.Drawing.Point(100, 71);
        item.Width = 200;
        item.Height = 21;
        item.Text = "Choose SubCategori";

        item.Items.Add("test1");

        this.Controls.Add(item);

    }

现在我需要这个创建的combobox_value_changed事件。

请帮帮我。 (抱歉坏英语)

2 个答案:

答案 0 :(得分:0)

DynamicCombobox_SelectedIndexChanged成为您想要在新创建的comboBox的选择索引更改时调用的方法。然后你可以使用下面的代码将它分配给组合框:

private void DynamicCombobox_SelectedIndexChanged(object sender, EventArgs e)
{
  //Code here
}
// creation statements
item.SelectedIndexChanged += DynamicCombobox_SelectedIndexChanged;

答案 1 :(得分:0)

您可以尝试以下方法:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    var item = new ComboBox
    {
        Name = "subCat",
        Location = new System.Drawing.Point(100, 71),
        Width = 200,
        Height = 21,
        Text = "Choose SubCategori"
    };
    item.Items.Add("test1");

    this.Controls.Add(item);

    // assign previously written method
    item.SelectedIndexChanged += DynamicallyCreatedCombobox_SelectedIndexChanged;
    // or
    // assign created in place delegate
    item.SelectedIndexChanged += (objSender, eventArgs) => {/* code here */};
}

// event handler for dynamically created combo box
private void DynamicallyCreatedCombobox_SelectedIndexChanged(object sender, EventArgs e)
{
    // code here
}