I don't have a much clearer solution, but I think this is worth trying. I think you have to customize your own Label class, in my code I call it MyLabel
then create a new Click event (with new keyword), then... Here is the detail.
Then if you click the label with some method was subscribed with MyLabel.Click, the sender will be your UserControl (in my code it is UserControl1).
MyLabel l = new MyLabel();
l.Text = "Mylabel";
l.BorderStyle = BorderStyle.FixedSingle; l.Size = new Size(100, 50);
l.Click += (sender, e) =>
UserControl u = (UserControl)sender;
public class MyLabel : Label
base.Click += (sender, e) =>
if(Click != null)
public new event EventHandler Click;
Hope it helps, If you are still confused, I'm glad to explain more.