перетащите элементы управления winform - PullRequest
7 голосов
/ 02 сентября 2011

Я хочу перетащить элемент управления (например, метку) в приложение winform. Я видел несколько примеров перетаскивания текста, но это не то, что я хочу. Я хочу, чтобы пользователь мог перемещать элемент управления. Кто-нибудь может направить меня к некоторым ресурсам или примерам? Спасибо.

Ответы [ 2 ]

3 голосов
/ 02 сентября 2011

вы должны посмотреть примеры того, как создавать перетаскиваемые элементы управления.

Здесь также есть ответы на некоторые вопросы.

См. Это Перемещение элементов управления при перетаскивании на панели в C #

это полный пример того, как разместить конструктор форм:

Адаптируйте свое приложение, создав собственный конструктор форм с помощью .NET

Я делал нечто подобное в Delphi очень давно, буду искать исходный код, конвертировать его в .NET C # и создавать вики-страницу по этому вопросу, поскольку в последнее время это становится таким популярным вопросом:)

2 голосов
/ 02 сентября 2011

Насколько я понимаю, если вы хотите отбросить элемент управления, называется контейнером, то любой элемент управления может выступать в роли контейнера.Итак, сначала для этого контейнера вам нужно включить свойство drop, а также свойство drag элементов управления, которые вам нужно перетащить.

Затем запишите события (Candrag, Candrop, ControlDadded и т. Д.) Для каждого элемента управления, где, в какой-то логике, чтобы держать объекты и отображать их, как вы можете.

Скажем, я приведу пример, в котором вы хотите перетащить imagetext из combombox в Picturebox, а затем заставить Picturebox анализировать текст и точное имя связанного файла в каталоге и загрузить это изображение в свой файл.подарок.

Итак, здесь, когда вы начинаете перетаскивать текст из выпадающего списка, вы должны написать некоторую логику в Candrag событий.Затем, когда вы отбрасываете, вы должны написать логику, чтобы понять, какой тип объекта был добавлен, и получить связанный с ним текст (своего рода расшифровку) в элементе управления, где вы отбрасываете другой элемент управления.

Извините, у меня нет кода длядать вам сейчас, но я надеюсь, вы поняли, как это делается.Может быть, эта статья может помочь вам?http://vicky4147.wordpress.com/2007/02/04/a-simple-drag-drop-in-winforms/

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