Перетащите интерфейс - PullRequest
       2

Перетащите интерфейс

3 голосов
/ 14 ноября 2011

Я пытаюсь создать интерфейс перетаскивания, такой как у вас, например, в Visio. Таким образом, вы можете перетаскивать объекты из библиотеки на поле.

Есть ли функция, чтобы сделать это, или я должен кодировать все это сам?

Спасибо, Jerodev.

Ответы [ 4 ]

4 голосов
/ 14 ноября 2011

Вот хорошее объяснение перетаскивания: Два ListBox - Пример перетаскивания

2 голосов
/ 14 ноября 2011

Если вы открыты для использования WPF, есть фантастическое руководство здесь . Это серия из четырех частей по созданию «дизайнерского холста» в WPF. Вторая часть реализует функциональность перетаскивания из панели инструментов. Это очень хорошо написано, и в конце вы получите пользовательский интерфейс, очень похожий на Visio.

2 голосов
/ 14 ноября 2011

Как заметили другие люди: DragDrop, DragOver, DragLeave и DragEnter - ваши друзья здесь.Но не забудьте включить «AllowDrop» для элемента, который будет получать данные.Вот второй замечательный пример: http://www.jonasjohn.de/snippets/csharp/drag-and-drop-example.htm

Это для файлов, но вы можете легко увидеть, как работает идея, настроить DataFormat в GetDataPresent, чтобы он был таким, каким вы перетаскиваете в свой объект, ипошли!

1 голос
/ 14 ноября 2011

Да, есть методы, облегчающие реализацию, ищите DragDrop, DragEnter, DragOver

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...