c#中的多个组合框

时间:2014-01-21 17:45:02

标签: c# visual-studio-2010 combobox

我是c#的新手。 我试图根据查询结果创建多个组合框。如果查询结果有5个项目我需要制作5个组合框。但我不知道如何添加事件处理程序(在选择更改事件上)。 我使用的是一组组合框,盒子数量可能会有所不同。我如何知道这个数组的哪个组合框已被更改并处理相同的事件

2 个答案:

答案 0 :(得分:1)

假设这是WinForms ......

在创建控件时,请指定一个通用事件处理程序:

foreach (DataRow row in ADataTable)
{
    ComboBox box = new ComboBox();
    box.OnSelectionChanged += comboBox_OnSelectionChanged;
}

protected void comboBox_OnSelectionChanged(Object sender, EventArgs e)
{
    if (sender is ComboBox)
    {
        ComboBox box = (ComboBox)sender;
        //do what you like with it
    }
}

为了对有问题的ComboBox进行操作,您无需了解数组。事实上,除非有更多的故事,否则你可能根本不需要数组。

答案 1 :(得分:0)

您可以创建组合框的子类,在这种情况下您可以覆盖该事件,或者您可以获取组合框的名称并执行类似的操作

comboboxName.OnSelected += (obj, args) => MethodToCall();

我不认为这是事件的确切名称,但这应该让你开始。处理事件有多种变体,例如

comboboxName.OnSelected += MethodToCall;
void MethodToCall(Object sender, EventArgs e){}

comboboxName.OnSelected += () => delegate{/*put some code here*/};