Как визуально сообщить пользователю, что что-то выбрано? - PullRequest
1 голос
/ 20 ноября 2010

Например, у меня есть userControl, который я хочу, чтобы пользователь мог "выбрать".

Вот код, который я использую:

private void ptbImage_Click(object sender, EventArgs e)
{
    SelectControl();
}

private void SelectControl()
{
    this.BackColor = Color.FromArgb(235, 243, 253);
}

Если у меня естьмногие элементы управления внутри этого пользовательского элемента управления скоро запутаются!: P Есть ли глобально обернуть вокруг каждого элемента управления?Как событие Click для всего, что находится внутри элемента управления.Если этого не произойдет, я просто создаю щелчок вручную даже для каждого элемента управления для глобального ввода ввода.Спасибо!

alt text

Ответы [ 3 ]

1 голос
/ 20 ноября 2010

Да ...

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

ptbImage1.Click += new System.EventHandler(ptbImage_Click);
ptbImage2.Click += new System.EventHandler(ptbImage_Click);
ptbImage3.Click += new System.EventHandler(ptbImage_Click);

и т. Д.

0 голосов
/ 20 ноября 2010
foreach (Control ctrl in yourContainerControl.Controls)  {
    ctrl.Click += new System.EventHandler(ctrl_Click);   
}

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

0 голосов
/ 20 ноября 2010

В методе InitializeComponent формы вы можете запустить foreach через каждый элемент управления в форме и установить обработчик события Click равным ptbImage_Click

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