|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.10.2010, 18:26 | #1 |
Регистрация: 08.10.2010
Сообщений: 4
|
Привязка окон друг к другу при перетаскивании
Доброго времени суток!
Огромная просьба подсказать, как в Windows Forms реализовать возможность привязки или состыковки окон друг с другом при перетаскивании? Аналогия - Winamp. Например, имеется главное окно и плейлист. В состыкованном положении при перемещении главного окна плейлист тянется за ним. При перемещении плейлиста он отделяется от главного окна и перемещается затем отдельно, независимо от главного окна. Если я плейлист перемещаю к границе главного окна, он примагничивается к главному окну, и теперь при перемещении главного окна плейлист снова тянется за ним. Как реализовать такую возможность в Visual Studio в проекте Windows Forms? |
10.10.2010, 20:19 | #2 |
Регистрация: 08.10.2010
Сообщений: 4
|
Немножко подумал и сделал сам )). Решение основано на небольших вычислениях.
Для этого используем событие LocationChanged() обоих окон. Собственно оно и является событием перемещения окна по экрану. При перемещении второго окна проверяется условие, вошло ли оно в пределы границ главного окна. Если да, то происходит стыковка и установка соответствующих переменных (введены 4 булевых переменных для фиксирования факта самой стыковки для каждой из границ, а также 2 численные переменные для сохранения значений смещения окон друг относительно друга) Если установилась какая-либо из 4 булевых переменных, в событии LocationChanged() главного окна выполняется код, который позволяет тянуть второе окно за главным при перемещении. Программа оперирует только свойствами Top и Left обеих окон. В общем, лучше все наглядно покажет программный код с комментариями. Код главного окна: Код:
|
10.10.2010, 20:19 | #3 |
Регистрация: 08.10.2010
Сообщений: 4
|
Код второго окна:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Данные по столбцам - упорядочить данные к друг другу | PetroD | Microsoft Office Excel | 10 | 07.08.2010 12:30 |
При перетаскивании не изменять формат ячейки. | agregator | Microsoft Office Excel | 4 | 17.11.2009 19:17 |
Как сделать так, что-бы при перетаскивании файла драг&дроп-ом на мою форму, он открывался??? | Altera | Общие вопросы Delphi | 2 | 11.04.2008 15:00 |
Как открывать песню при ее перетаскивании на ярлык програмы | SeRhy | Общие вопросы Delphi | 2 | 14.03.2008 18:50 |