выставить и поднять событие дочернего элемента управления в usercontrol в c#
Привет. У меня есть UserControl, который содержит текстовое поле. Я хотел получить доступ к событию textchanged текстового поля, но в свойствах события usercontrol я не вижу событий для текстового поля. Как я могу предоставлять и обрабатывать определенные события дочерних элементов управления из общедоступного UserControl в Winforms с C#.
2 ответов
вы можете отобразить новое событие и передать любые подписки прямо в элемент управления, если хотите:
public class UserControl1 : UserControl
{
// private Button saveButton;
public event EventHandler SaveButtonClick
{
add { saveButton.Click += value; }
remove { saveButton.Click -= value; }
}
}
выставьте все текстовое поле как общедоступное свойство в пользовательском управлении и подпишитесь на его события так, как вы хотите.
пример:
class myUserControl: UserControl {
private TextBox _myText;
public TextBox MyText { get {return _myText; } }
}
после этого вы можете подписаться на любое из его событий, например:
theUserControl.MyText.WhatEverEvent += ...
надеюсь, что это помогает!