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 je ne vois pas les événements de la zone de texte dans les propriétés d’événement de usercontrol. Comment puis-je exposer et gérer des événements particuliers des contrôles enfants à partir de UserControl exposé au public dans Winforms avec C #.
Vous pouvez afficher un nouvel événement et transmettre tous 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; } } }
Exposez l’intégralité de la zone de texte 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 à n’importe lequel de ses événements comme ceci:
theUserControl.MyText.WhatEverEvent += ...
J’espère que cela t’aides!