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