Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Перетаскивание(dran&drop) с дублированием


Автор: 5kill 20.6.2011, 16:02
Добрый день.

Думаю над тем как реализовать перетаскивание объекта из некой панели, которая должна содержать набор всевозможных объектов, в рабочую область посредством Drag&Drop.

Какие классы подойдут лучше для обоих панелей, для самих объектов(простые графиеские 2Д картинки). 
Как реализовать перетаскивание с дублированием, да так чтобы при перетаскивании отображалось будущее положение(в том числе с учетом взаимодействия с другими объектами, уже расположенными на рабочей области).

В инете как-то не очень с этим, или я просто не знаю как это грамотно сформулировать.
Приветствуются как пространные соображения типа - "копать туда" и "я бы сделал так", так и вполне конкретные примеры и ссылки, статьи, книги.

Добавлено через 1 минуту и 27 секунд
Да, совсем забыл, язык - C# =)

Автор: Keanor 20.6.2011, 21:09
Слишком размытый вопрос, может кто поумнее ответит - единственное что я могу тебе посоветовать это начать что-нибудь уже делать и задавать более конкретные вопросы.

Автор: 5kill 22.6.2011, 15:27
Начал реализовывать, пока что скорее в экспериментальном режиме...

Вот первый конкретный вопрос - как сделать так, чтобы над формой куда я перетаскиваю объект, отображалось превью его итогового положения и вида?
Я передаю в DoDragDrop() параметры объекта, но когда мышь двигается над формой в режиме Drag&Drop то она не вызывает события MouseMove, как можно отследить текущее положение курсора и отрисовать там как минимум прямоугольник обозначающий положение будущего элемента, а лучше сразу превью элемента(поскольку он может менять свой вид в зависимости от взаимного расположения относительно других, уже имеющихся на форме элементов).

Автор: -Mikle- 22.6.2011, 16:08
DragOver? не?

Автор: 5kill 22.6.2011, 16:50
-Mikle-
Точно, спасибо!

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