выставить и поднять событие дочернего элемента управления в usercontrol в c # - PullRequest
25 голосов
/ 03 июня 2009

Привет. У меня есть UserControl, который содержит текстовое поле. Я хотел получить доступ к событию textaged из текстового поля, но в свойствах события usercontrol я не вижу событий для текстового поля. Как я могу выставлять и обрабатывать определенные события дочерних элементов управления из общедоступного UserControl в Winforms с C #.

Ответы [ 2 ]

39 голосов
/ 03 июня 2009

Вы можете открыть новое событие и передать любые подписки прямо в элемент управления, если хотите:

public class UserControl1 : UserControl 
{
    // private Button saveButton;

    public event EventHandler SaveButtonClick
    {
        add { saveButton.Click += value; }
        remove { saveButton.Click -= value; }
    }
}
2 голосов
/ 03 июня 2009

Представьте весь TextBox как открытое свойство в пользовательском элементе управления и подписывайтесь на его события так, как вы хотите.
Пример:

class myUserControl: UserControl { 
private TextBox _myText;
public TextBox MyText { get {return _myText; } }

}

После этого вы можете подписаться на любое из его событий, например так:

theUserControl.MyText.WhatEverEvent += ... 

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...