Как выставить / всплеснуть события снаружи в элементах управления Composite Winforms? - PullRequest
1 голос
/ 17 ноября 2011

У меня есть CompositeControl с 3 кнопками, и я не хочу, чтобы эти кнопки были открытыми участниками из моего CompositeControl.Но я также хочу раскрыть свое событие Click по отдельности, чтобы пользователь этого элемента управления мог подписаться на них.

Я не уверен, как это сделать, не дублируя одни и те же события в моем элементе управления и не вызывая событие Click каждой кнопки отдельно..

1 Ответ

2 голосов
/ 17 ноября 2011

Я не уверен, как это сделать, не дублируя одни и те же события в моем элементе управления и не вызывая событие Click каждой кнопки отдельно.

Это действительно правильный способ справиться с этим. Вы захотите продублировать событие, но дадите ему новое, правильное имя.

Как правило, это означает предоставление «событию щелчка» имени, связанного с активностью кнопки, а не самой кнопки. Например, если бы у вас была кнопка обновления, я бы выставил событие как что-то вроде:

public event EventHandler RefreshRequested;

Затем внутри вы прослушаете событие нажатия кнопки и вызовете событие обновления. Это также дает вам возможность позже изменить внутреннее представление (например, если вы хотите использовать что-то кроме кнопки).

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