Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Делегирование всех событий объекта объекту у которых их нет. / 2 сообщений из 2, страница 1 из 1
12.04.2013, 12:25
    #38223278
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Делегирование всех событий объекта объекту у которых их нет.
Доброе время суток.
Есть свой элемент управления состоящий из Button и UserControl. Button находится внутри UserControl как в контейнере.
Для того что бы иметь доступ к свойствам Button создал в UserControl свойство tbButton и возвращаю из get объект Button.
Все хорошо свойства Button стали доступны снаружи, сразу все.
Нечто подобное теперь хочется сделать и с событиями Button. Можно конечно в UserControl наделать событий и подписать их на события Button (успешно реализовано). Ho это требует прописывания каждого события в ручную. А если Button не одна код разрастается.

Вопрос: Есть ли способ предоставить доступ к событиям объекта находящегося внутри UserControl не делегируя их этому UserControl?
или как альтернативный вариант создать цикл проходящий по всем событиям Button и создающий подписчиков (слегка изменив имя события) в UserControl. Другими словами автоматизировать создание подписок.

Если можно с сылкой или примером, я пока немного плаваю в теме делегатов и подписок.

Спасибо.
...
Рейтинг: 0 / 0
12.04.2013, 16:26
    #38223760
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Делегирование всех событий объекта объекту у которых их нет.
Mikhail TchervonenkoВсе хорошо свойства Button стали доступны снаружи, сразу все.
Нечто подобное теперь хочется сделать и с событиями Button
В этом случае события ничем не отличаются от свойств. К ним точно также можно обратиться. Вроде того:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
MyUserControl uc = new MyUserControl();
uc.tbButton.Left = 100; // Меняем свойство
uc.tbButton.Click += OnButtonClick; // Подписываемся на событие

...
private void OnButtonClick(object sender, EventArgs e)
{
}
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Делегирование всех событий объекта объекту у которых их нет. / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]