如何在 .NET 中对以编程方式添加的控件使用事件

How to use events for programmatically added controls in .NET

我正在 tabPage 中动态添加标签,我想为这些标签使用事件,例如:

foreach(Label l in tabPage1.Controls)
{
    if(l.Click)
    {
        //Do something
    }
}

但这显然不是方法,因为事件 'Control.Click' 只能出现在 += 或 -= 的左侧。 我有什么想法可以做到这一点吗?

您需要创建一个方法来处理事件

foreach(Label l in tabPage1.Controls)
{
    l.Click += MyClickHandler;
}



...


void MyClickHandler(object sender, EventArg e)
{
    Label l = (Label) sender;
    //do something
}