这可能是一个天真的问题,但我找不到答案。
我正在创建一个UserControl(类似于Winform的按钮)。一旦我拥有它,我将它用作Container中的Collection(真的是从Control继承的另一个UC。我将这个容器放在一个表单中,然后我以编程方式创建一个像这样的“按钮”的集合;
tMenu.Add(new TrevoButton(Test.Properties.Resources.Mapa, "Map", "MapaClick"));
tMenu.Add(new TrevoButton(Test.Properties.Resources.Inst, "Install", "InstaClick"));
tMenu.Add(new TrevoButton(Test.Properties.Resources.Mode, "Model", "ModelClick"));
参数是:
我的问题是,鉴于事件名称,如何将其指定为按钮的方法?
提前致谢。
答案 0 :(得分:2)
找到我需要的东西。
这是集合的ADD(第三个参数没有引号):
tMenu.Add(new TrevoButton(Test.Properties.Resources.Mapa, "Mapa", MapaClick));
在表格中(我添加项目的地方),我将“MapaClick”定义为:
public void MapaClick(object sender, EventArgs e)
{
MessageBox.Show("MapaClick");
}
然后,UserControl的构造函数接收一个EventHandler参数:
public TrevoButton(Image pImagen, string pTexto, EventHandler pEvento)
{
Image = pImagen;
Texto = pTexto;
this.Click += new EventHandler(pEvento);
Iniciar();
}
就是这样。当我按下按钮时,会出现消息! 感谢@lAbstract。你的回答让我这样。