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

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

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

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

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

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

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

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

Не пропущу! Отношение водителей к жизни человека: как уступают дорогу «скорой» в Европе и у нас

Не пропущу! Отношение водителей к жизни человека: как уступают дорогу «скорой» в Европе и у нас

На днях в YouTube появился ролик, запечатлевший совершенно обыденную для европейцев ситуацию. Но для нашего человека – совершенно нетипичную и оттого вызывающую у некоторых из нас слёзы восторга.
openqazaqstan
18 марта 2017 / 20:22
  • 5683
  • 9
Престарелый старец-киборг Рокфеллер предлагал уничтожить 90% населения Земли

Престарелый старец-киборг Рокфеллер предлагал уничтожить 90% населения Земли

Первую пересадку сердца Рокфеллер пережил в 1976 году на 62-м году жизни. Последнюю пересадку ему сделали в августе 2016 года. Пересадка сердца такому старому пациенту не имеет аналогов...
Timur_Tregulov
21 марта 2017 / 23:10
  • 5274
  • 45
Почему в Казахстане пытаются запретить фильм «Красавица и Чудовище»

Почему в Казахстане пытаются запретить фильм «Красавица и Чудовище»

Только я дождался премьеры, как вдруг её отменяют. Откровенно говоря, у меня нереально бомбит от всего этого. Я, как и многие, очень люблю Дисней и его картины, и не против того, что они стали...
MrVladimirLV
17 марта 2017 / 16:03
  • 4545
  • 63
H&M-ское безумие или Что народу по карману?

H&M-ское безумие или Что народу по карману?

На счет качества: я спросил у знакомых и мне сказали, что та или иная вещь носится сезон. В хорошем случае и бережном отношении немногим больше. Кофточки - моя слабость, наверное...
RustemZhali
18 марта 2017 / 18:32
  • 4197
  • 30
Алматы – это город-урод. Если вы живете здесь, то сами найдете кучу примеров

Алматы – это город-урод. Если вы живете здесь, то сами найдете кучу примеров

Париж, Рим, Барселона, Лондон, Алматы, Венеция – выберите город, который на ваш взгляд кажется лишним в этом списке. Если бы не было слова "урод", было бы легче определиться?
corridere
21 марта 2017 / 14:59
  • 3510
  • 75
Беременность по-американски. Никто не ждет до 40 дней, с малышом гуляют с первого дня

Беременность по-американски. Никто не ждет до 40 дней, с малышом гуляют с первого дня

Мои волшебные 9 месяцев протекали в новой среде и далеко от всех родственников и подружек. Никто из моих знакомых в США на тот момент не успел обзавестись малышом, поэтому мне не с кем было советоваться.
Zarema_
вчера / 13:05
  • 2669
  • 11
Что скажите о таком поведении? Той-не той, а мен крутой гой

Что скажите о таком поведении? Той-не той, а мен крутой гой

Это вообще что такое? Такой подарок молодым? Вот бытует мнение, что винят ведущего, кто-то говорит о людях. Я вообще такого не понимаю. Хотелось бы узнать ваше мнение, потому что я провел огромное...
fima
17 марта 2017 / 18:07
  • 2689
  • 12
Здесь никто не спросит: «Кушал ли я сегодня?». Опыт жизни в Дубае

Здесь никто не спросит: «Кушал ли я сегодня?». Опыт жизни в Дубае

Соседки в "апарте" были индианки и пакистанки, и я рада им, так как не уверена, что девочки из СНГ, с которыми кстати я сейчас живу на Шеринге, хоть раз спросили бы меня: "Кушала ли я?"
Sarasetek
17 марта 2017 / 18:03
  • 2492
  • 21
Будьте бдительны при покупке цифровой техники! «Наебизнес» в магазинах техники

Будьте бдительны при покупке цифровой техники! «Наебизнес» в магазинах техники

Покупая бытовую технику в магазинах будьте внимательны. Сейчас практикуется впаривание дополнительных услуг по настройке. Прежде чем оформлять, проверьте суммы и уточните у манагеров если что-то не сходится.
dr_Motor
20 марта 2017 / 2:13