Si te estoy entendiendo correctamente, su usercontrol GameButton se disparará el evento cuando se hace clic en, pero no cuando se hace clic en la etiqueta en - y quiere tanto. Esto se debe a que la etiqueta (un control) está en la parte superior del fondo. Por lo tanto, también debe registrar su etiqueta con el evento click. Esto puede hacerse manualmente en el diseñador o programáticamente para cada control en la página.
Si usted quiere hacer todos los controles en el control de usuario, poner esto en caso OnLoad del control de usuario y se puede utilizar el mismo evento de clic para cada control:
foreach(Control c in this.Controls){
c.Click += new EventHandler(yourEvent_handler_click);
}
public void yourEvent_handler_click (object sender, EventArgs e){
//whatever you want your event handler to do
}
EDIT: La mejor manera es crear la haga clic en la propiedad del controlador de eventos en el control del usuario. De esta forma, cada vez que agrega/elimina un evento de clic a su control de usuario, lo agrega/elimina a todos los controles dentro del control de usuario automáticamente.
public new event EventHandler Click {
add {
base.Click += value;
foreach (Control control in Controls) {
control.Click += value;
}
}
remove {
base.Click -= value;
foreach (Control control in Controls) {
control.Click -= value;
}
}
}
Esto es según otra post:
Espero que esto ayude!
marco de interfaz de usuario (Windows Forms, WPF, formularios web, MVC)? –
lo siento, WinForms – Oztaco
También por favor, evitar la inclusión de etiquetas que tienen poco o nada que ver con su pregunta (por ejemplo, visual-studio) –