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

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

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

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

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

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

Загрузка...

Комментарии

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

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

Мысли вслух. Почему казахи перестали общаться с родственниками и ходить в гости?

Мысли вслух. Почему казахи перестали общаться с родственниками и ходить в гости?

Дастархан в те времена был скромен. Не было понятия «сынау» - осуждения кто как живет, какой в доме ремонт и т.д. Пока взрослые обсуждали задержку заработной платы, мы играли в армию, жмурки, строили городки...
socium_kzo
5 дек. 2016 / 15:19
  • 30662
  • 30
Верховный Суд презентовал комментарий к Гражданскому процессуальному кодексу

Верховный Суд презентовал комментарий к Гражданскому процессуальному кодексу

ГПК содержит 505 статей, многие из которых написаны несколько сложным юридическим языком. Однако теперь понять их можно проще и без обращения к юристу.
RuSnake
6 дек. 2016 / 10:31
  • 11042
  • 0
Японец о Казахстане: «Ваши девушки уж сильно себе набивают цену...»

Японец о Казахстане: «Ваши девушки уж сильно себе набивают цену...»

"Мужчины должны у вас тут права качать, ибо их процент в вашей численности населения уступает проценту женщин". Я машинально начала уверять, что у нас в стране таковых не имеется...
Sapientia
5 дек. 2016 / 10:52
  • 10873
  • 71
Известный европейский фотограф показал истинную красоту казашек

Известный европейский фотограф показал истинную красоту казашек

С 26 по 30 ноября в Алматы гостил известный европейский фотограф Ян Маклайн в рамках реализации совместного проекта с Казахстаном. Подробности не уточняются, однако ходят слухи о том, что этот...
Muchacho55
7 дек. 2016 / 18:29
  • 9545
  • 8
Невозвращенцы-болашаковцы должны государству почти 2 млрд тенге. Кто их теперь вернет?

Невозвращенцы-болашаковцы должны государству почти 2 млрд тенге. Кто их теперь вернет?

Как сообщают новостные порталы, в Нью-Йорке нашёлся бывший болашаковец Ержан Еликов, исчезнувший пять лет назад и всё это время не выходивший на связь с родителями. Да-да, это именно он, «тот самый».
openqazaqstan
вчера / 14:31
  • 8216
  • 28
Распил 1 млрд долларов или спасение для Алматы? В 2017-м начнётся строительство БАКАД

Распил 1 млрд долларов или спасение для Алматы? В 2017-м начнётся строительство БАКАД

Конечно, Алматы заслужил эту дорогу. Невзирая на все издержки, которые могут возникнуть. Заслужил и как крупнейший город Казахстана, и как субъект, формирующий своими налогами около четверти всех...
merurg
7 дек. 2016 / 12:35
  • 7497
  • 20
«Лицо дьявола»? Страшный силуэт на стекле – не оправдание водительской безответственности

«Лицо дьявола»? Страшный силуэт на стекле – не оправдание водительской безответственности

Казнет уже которые сутки подряд обсуждает страшную аварию на трассе Астана – Боровое, где сошлись страшные мистические знаки и где из-за банальной человеческой безответственности гибли люди..
openqazaqstan
8 дек. 2016 / 13:14
  • 6736
  • 7
10 причин, по которым я не смогла работать учителем. Не только в зарплате дело, ребята

10 причин, по которым я не смогла работать учителем. Не только в зарплате дело, ребята

Я почти год проработала в школе, и когда уходила оттуда, была самым счастливым человеком в мире. Тот год, честно говоря, я и сейчас вспоминаю с ужасом.
demonica
6 дек. 2016 / 17:21
  • 6455
  • 78
На самом деле дела плохи: казахстанские школьники на 49-м, а не на 12-м месте по математике

На самом деле дела плохи: казахстанские школьники на 49-м, а не на 12-м месте по математике

О том, как масс-медиа раздула миф о казахстанских вундеркидов в розовый воздушный шар, пока его не проколола правда-иголка. Получается, что казахстанские дети не могут применить теорию в практике...
ardakzhurynov
7 дек. 2016 / 0:17
  • 6009
  • 36