Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Click/MouseClick: проблема с перекрытием


Автор: IDisposable 10.4.2011, 01:58
Есть user conrol, на нем лежат PictureBox и Label.
Вопрос в том, как обрабаттывать событие клика мышки для всех них одинаково, что бы событие Click посылалось *только* саому user control'у.

Вариант с прописыванием всем компонентам в Click одного и того же хендлера не подходит, потомучто таких user control'с наложением достаточно много, а накладываются друг на друга до 5 конролов. Их распложение частенько меняется по просьбе заказчика, а расбираться с проблемой наложения  вручную мне ох как осточртело.

Автор: diadiavova 10.4.2011, 09:53
Можно обойти контролы программно в цикле(или, если есть вложенные контролы - рекурсивно), назначить им обработчик, в котором будет инициироваться событие Click самого юзверьконтрола. Это все надо делать в коде юзверьконтрола после инициализации ессно.

Автор: IDisposable 10.4.2011, 11:59
Спасибо, но проблему это не решает.
Потому что у меня есть кнопка с enabled=false. Соответственно при клике на нее событие не вызывается, а мне оно нужно.

Автор: diadiavova 10.4.2011, 12:43
Когда у кнопки enabled=false, то это равносильно тому, что ее вообще нет, поэтому клик по тому месту, где расположена кнопка должен отлавливаться не в кнопке, а в контейнере, где она расположена. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)