| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка 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, то это равносильно тому, что ее вообще нет, поэтому клик по тому месту, где расположена кнопка должен отлавливаться не в кнопке, а в контейнере, где она расположена. |