我有一个表格可能包含同一控制根据不同的应用的几个实例。某些应用程序将需要极少数,其他人将这些控件需要40。我会在VB6控件添加手动的形式,分配一个有意义的名字,然后双击执行一个事件处理程序的控制。事件处理程序会有很大的不同,从控制到控制。
我新做在C#的事件,但我认为我的方式将实现每个控件的事件如下:
Control1.Operate += new MyControl.OperateEventHandler(Control1_Operate);
.
.
.
Control10.Operate += new MyControl.OperateEventHandler(Control10_Operate);
然后,我会实现代码在Control1_Operate等。
但我宁愿没有做上述每次我添加到屏幕上的控制。我想C#的处理对我来说,喜欢在下面,但我卡住时,我需要提供实际的事件处理程序。
{C}
如果我使用Generic_Operate的处理程序,然后我会以某种方式需要一个有需要进行操作的控制。或者我可以以某种方式自动生成的处理程序像这样的"名":
foreach (Control ctrl in this.Controls)
{
if (ctrl.GetType() == typeof(UniControl))
{
temp = (UniControl)ctrl;
temp.Operate += new UniControl.OperateEventHandler(temp.Name + "_Operate");
}
}
显然,上述将无法正常工作,但也许还有一种方式来获得我想要的效果吗?