exposer et déclencher l'événement d'un contrôle enfant dans un usercontrol en c#
Salut. J'ai un UserControl qui contient une zone de texte. Je voulais accéder à l'événement textchanged de la zone de texte, mais dans les propriétés de l'événement usercontrol, Je ne vois pas les événements de la zone de texte. Comment puis-je exposer et gérer des événements particuliers des contrôles enfants du UserControl exposé publiquement dans Winforms avec C#.
23
demandé sur
Joachim Prinsloo
2009-06-03 09:20:51
2 réponses
Vous pouvez surfacer un nouvel événement et passer les abonnements directement au contrôle, si vous le souhaitez:
public class UserControl1 : UserControl
{
// private Button saveButton;
public event EventHandler SaveButtonClick
{
add { saveButton.Click += value; }
remove { saveButton.Click -= value; }
}
}
37
répondu
Matt Hamilton
2013-02-11 08:30:59
Exposez la zone de texte entière en tant que propriété publique dans le contrôle de l'utilisateur et abonnez-vous à ses événements comme vous le souhaitez.
Exemple:
class myUserControl: UserControl {
private TextBox _myText;
public TextBox MyText { get {return _myText; } }
}
Après cela, vous pouvez vous abonner à l'un de ses événements comme ceci:
theUserControl.MyText.WhatEverEvent += ...
Espérons que cela aide!
1
répondu
Galilyou
2009-06-03 05:24:36