Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Перетаскивание кнопки по окну - точка захвата с погрешностью
|
|||
|---|---|---|---|
|
#18+
Добрый день. Нужно реализовать перетаскивание кнопки мышкой по окну. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Создание кнопки: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. Работает, но при нажатии мышки кнопка смещается относительно точки захвата. Пробовал сделать коррекцию: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. В этом случае кнопка мерцает и дёргается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2018, 14:30 |
|
||
|
Перетаскивание кнопки по окну - точка захвата с погрешностью
|
|||
|---|---|---|---|
|
#18+
задайте кнопке свойство SnapsToDevicePixels=True либо используйте GuideLines, если содержимое сложное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2018, 15:52 |
|
||
|
Перетаскивание кнопки по окну - точка захвата с погрешностью
|
|||
|---|---|---|---|
|
#18+
вообще по уму лучше делать не так, сделать контрол, аналогичный контролу Thumb в котором уже реализовано перетаскивание, добавить его в шаблон кнопки и использовать. Как мне кажется. Использование RenderTransform не будет вызвать пересчет макета, для этого есть LayoutTransform, стоит учитывать это при проектировании контрола. При реализации управления с помощью мышки связанного с зажатием кнопки (перетаскивание, рисование, выделение) и других лучше это реализовывать через захват мышки. Захват мышки элементом управления позволяет ему и только ему получать координаты мышки, состояние её кнопок независимо от всего остального. Естественно нужно учитывать, что и другие элементы управления могут захватывать мышку, но проблем не будет, если они находятся в 1 дереве. Захват мышки можно использовать через менеджер мышки bool Mouse.Capture(myControl), Mouse.Capture(null) или через сам элемент управления bool CaptureMouse(), ReleaseMouseCapture(); В менеджере можно так же посмотреть какой элемент управления захватил мышку, во время отладки это может сильно помочь во время конфликта. И Mouse.Capture имеет дополнительный параметры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2018, 16:04 |
|
||
|
Перетаскивание кнопки по окну - точка захвата с погрешностью
|
|||
|---|---|---|---|
|
#18+
Roman Mejtesзадайте кнопке свойство SnapsToDevicePixels=True либо используйте GuideLines, если содержимое сложное. Ничего не меняется. А через Mouse.Captur он будет сам рассчитывать корректирование точки нажатия мыши относительно границ контрола? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2018, 17:37 |
|
||
|
|

start [/forum/topic.php?fid=21&msg=39640453&tid=1440421]: |
0ms |
get settings: |
5ms |
get forum list: |
7ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 280ms |

| 0 / 0 |
