Я пытаюсь создать интерфейс перетаскивания, такой как у вас, например, в Visio. Таким образом, вы можете перетаскивать объекты из библиотеки на поле.
Есть ли функция, чтобы сделать это, или я должен кодировать все это сам?
Спасибо, Jerodev.
Вот хорошее объяснение перетаскивания: Два ListBox - Пример перетаскивания
Если вы открыты для использования WPF, есть фантастическое руководство здесь . Это серия из четырех частей по созданию «дизайнерского холста» в WPF. Вторая часть реализует функциональность перетаскивания из панели инструментов. Это очень хорошо написано, и в конце вы получите пользовательский интерфейс, очень похожий на Visio.
Как заметили другие люди: DragDrop, DragOver, DragLeave и DragEnter - ваши друзья здесь.Но не забудьте включить «AllowDrop» для элемента, который будет получать данные.Вот второй замечательный пример: http://www.jonasjohn.de/snippets/csharp/drag-and-drop-example.htm
Это для файлов, но вы можете легко увидеть, как работает идея, настроить DataFormat в GetDataPresent, чтобы он был таким, каким вы перетаскиваете в свой объект, ипошли!
Да, есть методы, облегчающие реализацию, ищите DragDrop, DragEnter, DragOver