место в рейтинге
  • 417057
  • 11143
  • 405
Нравится блог?
Подписывайтесь!

Программерское

Я тут Си шарпом начал баловаться.

Как сделать чтобы можно было в процессе выполнения программы перетаскивать панельки или picturebox'ы по форме с помощью мышки? И размеры менять

Кто поможет - тот молодчик))

23 апреля 2011, 14:56
495

Загрузка...
Loading...

Комментарии

Sigurt
0
0
C#: теория Drag and Drop
Drag and Drop используется сегодня повсеместно, все привыкли к нему.
Реализовать эту полезную функцию в приложениях WinForms на платформе .NET достаточно просто, есть лишь несколько нюансов.

Прежде всего, событие перетаскивания должно инициироваться каким-либо действием пользователя. Чаще всего этим действием является нажатие левой кнопки мыши на элементе, который может быть перемещен в своем контейнере. Соответственно, событие это называется MouseDown, в его обработчике для реализации drag and drop нужно прописать следующую строку:

this.DoDragDrop(objectName, DragDropEffects.Move);


Несколько замечаний по приведенному фрагменту.
Некоторые компоненты обладают собственными событиями начала drag and drop. Например, TreeView имеет событие ItemDrag.
Употребление this предполагает, что перемещение объекта производится по всей форме (например, из таблицы пользователей в древовидный их список). В частном случае (например, когда запись в DataGridView нужно просто переместить на другое место) вместо this стоит употреблять идентификатор объекта, по которому происходит перемещение.
objectName — это имя объекта для перемещения. Им может быть элемент TreeView, строка или ячейка DataGridView, или что-то иное.

После начала drag and drop, нужно отлавливать момент перемещения элемента над другими объектам. Сделать это можно в событии DragEnter компонента, в области которого происходит drag and drop, возникающего сразу после попадания перетаскиваемого объекта в визуальную область элемента (например, узла TreeView). Чаще всего в обработчике DragEnter запоминается элемент, над которым перетескаваемый объект был в последний раз.
После DragEnter инициируется событие DragOver, возникающее в момент перемещения перетаскиваемого объекта над визуальной областью элемента компонента, инициировавшего DragOver. Если есть необходимость, тут можно заняться визуализацией процесса drag and drop.
Событие DragLeave возникает в момент покидания перетаскиваемого объекта визуальной области компонента, сгенерировавшего DragLeave.
После того, как пользователь заканчивает перетаскивать элемент, возникает событие DragDrop. В его обработчике и должна содержаться реализация процесса drag and drop, то есть перемещения объекта, перестроения списков, деревьев и прочего. Перетаскиваемый элемент objectName содержится в экземпляре класса DragEventArgs под именем Data.

Пример. Древовидный список (TreeView) содержит 3 элемента: 1, 2 и 3. Пользователь начинает перетаскивать элемент 3 над элементом 2, возникает событие DragEnter. Во время перетаскивания элемента 3 над элементом 2 возникает DragOver. Пользователь двигает элемент 3 к элементу 1 — DragLeave, DragEnter, DragOver. После того как пользователь отпускает левую кнопку мыши над элементом 1 — DragDrop.

Источник: itmodus.ru
Я делал по этому описанию =)
это немного не то
Данные перетаскивать не так уж и сложно, нужно чтобы можно было перетаскивать например панельки по форме, менять их размеры мышкой и т.д.
но спасибо

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Маргулан Сейсембаев: Об идеальных учителях, финской модели обучения и дисциплине

Маргулан Сейсембаев: Об идеальных учителях, финской модели обучения и дисциплине

Крупнейшая частная школа осознала, что внедрять финскую модель в чистом виде в Казахстане, не имеет смысла. Нельзя давать детям свободу без "идеальных" учителей.
Zhumanova
вчера / 8:18
  • 5270
  • 7
О проститутках, ЗППП и других сексуальных страстях

О проститутках, ЗППП и других сексуальных страстях

У меня обширный сексуальный опыт, и я этим не хвастаюсь. Будь у меня возможность, променял бы это всё на одного партнёра. Но так как с личной жизнью не заладилось, а секс я очень люблю, то приходилось изворачиваться.
bez_prav
18 окт. 2017 / 18:01
Я помню тот день, когда мне позвонили друзья и сообщили: «Она выходит замуж». Часть 2

Я помню тот день, когда мне позвонили друзья и сообщили: «Она выходит замуж». Часть 2

Я знал дату свадьбы. За неделю до свадьбы в соцсети "Вконтакте" на все мои последние фото, был проставлен лайк с её профиля. Сердце забилось сильнее. В душе загорелась наивная, крошечная надежда.
Dominator-kz
17 окт. 2017 / 15:41
Льготное кредитование для молодежи Алматы. Не хоромы, но для начала неплохо

Льготное кредитование для молодежи Алматы. Не хоромы, но для начала неплохо

Если вам нет 35 лет и у вас нет своего жилья, то есть интересная гос.программа. Нишевая программа - молодые семьи Алматы до 35 лет, семья - это как минимум 2 супруга без детей.
DanaJarlygapova
19 окт. 2017 / 16:21
Мой парень – «тиран». Почему я вступила в такие отношения?

Мой парень – «тиран». Почему я вступила в такие отношения?

История из моей жизни. Я вспоминаю эти отношения и сама не могу понять - как так произошло? А дело в том, что вы и сами не заметите. Это наступает плавно и динамично.
Altynai_JA
18 окт. 2017 / 14:17
Доверяют ли граждане Казахстана полицейским? Социальный опрос

Доверяют ли граждане Казахстана полицейским? Социальный опрос

Борьба с оборотнями в погонах идёт не один год, но без особого эффекта. Это даёт повод подробнее поговорить о нашей полиции и её проблемах. Как относятся к полицейским казахстанцы?
voiceQZ
20 окт. 2017 / 18:42
  • 2652
  • 41
Как и где найти дешевые авиабилеты?

Как и где найти дешевые авиабилеты?

Дешевые авиабилеты и не только. Какими сайтами воспользоваться лучше всего? Байки о том, что чем раньше вы покупаете билет, тем дешевле, не всегда верны и точны.
dianaobyrne
вчера / 9:25
  • 2279
  • 15
Сказ об офисных планктонах. А какой работник ты?

Сказ об офисных планктонах. А какой работник ты?

Я проработала во многих компаниях и повстречала очень много разных интересных людей. Исходя из моих наблюдений, могу описать несколько категорий работников. Может, речь пойдет о ком-то из вас…
Altynai_JA
18 окт. 2017 / 17:51
  • 2047
  • 20
«Автобусная неделя». Выдержит ли аким Шымкента давку в общественном транспорте?

«Автобусная неделя». Выдержит ли аким Шымкента давку в общественном транспорте?

Аким Шымкента Габидулла Абдрахимов нашёл решение накопившихся проблем городского транспорта. Все ключевые работники акимата некоторое время будут сами ездить на автобусах.
openqazaqstan
18 окт. 2017 / 10:53
  • 1977
  • 36