|
Фокус над контролом
|
|||
---|---|---|---|
#18+
Подскажите, пожалуйста, как сделать таким образом: UserControl содержит несколько контролов. Требуется подписаться на событие MouseEnter и MouseLeave этого контрола. Но он считает, что MouseLeave происходит каждый раз, когда мышка заходит на кнопку. Как сделать так, чтобы MouseEnter срабатывал всегда, когда указатель над UserControl, и MouseLeave, когда указатель уходит из UserControl? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2013, 13:27 |
|
Фокус над контролом
|
|||
---|---|---|---|
#18+
Я так понял, что все контролья на одно и тоже событие подписаны? Тогда нужно что-то вроде этого Код: c# 1. 2. 3. 4. 5. 6. 7.
Вообще на картинке этой кнопки нет. Хоть бы какой кусочек кода выложи чтоб ситуация прояснилась... Учитесь формировать вопрос грамотно, тогда и ответ не заставит себя ждать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2013, 14:36 |
|
Фокус над контролом
|
|||
---|---|---|---|
#18+
Проблема немного другая: Я создал свой контрол (унаследовал от UserControl), на него покидал элементы управления какие-нибудь. Потом я использую свой контрол: хочу узнать, находится ли указатель мышки над ним, или нет. Подписываюсь на события MouseEnter и MouseLeave моего компонента. Но они срабатывают криво: когда навожу мышь на свободное место в пределах компонента UserControl, срабатывает MouseEnter. Но когда я с фона UserControl навожу на контрол, лежащий на нём (скажем, на textbox), то срабатывает MouseLeave. Соответственно, в случае, если дочерние контролы растянуты на всю родительскую форму, то MouseEnter и MouseLeave вообще не срабатывают. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2013, 14:40 |
|
Фокус над контролом
|
|||
---|---|---|---|
#18+
Charles Weyland, Только как то так. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2013, 17:25 |
|
Фокус над контролом
|
|||
---|---|---|---|
#18+
Ответ близок к гениальному, но не будет ли срабатывать события Leave и Enter подряд при каждом пересечении границы компонентов в пределах UserControl? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2013, 17:39 |
|
Фокус над контролом
|
|||
---|---|---|---|
#18+
Charles WeylandОтвет близок к гениальному, но не будет ли срабатывать события Leave и Enter подряд при каждом пересечении границы компонентов в пределах UserControl? По теме Предлагают использовать для этих целей WPF чтобы избежать аггрегирования событий как ответил предыдущий человек. По поводу срабатывания событий внутри вашего контрола при переводе курсора от одного вложенного контрола к другому: Можно попробовать что-нибудь вроде этого (не проверял). Затык может быть, если не сработает MouseLeave вашего основного контрола, если на нем в притык к границе расположен другой вложенный контрол. В общем пробуйте :) Самому интересно как разрулить такую ситуацию... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2013, 06:59 |
|
|
start [/forum/topic.php?fid=20&gotonew=1&tid=1404309]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
11ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 173ms |
0 / 0 |