Перетаскивание и перемещение элементов Перетаскивание и перемещение элементов из одного элемента CheckedListBox в другой с помощью Windows Forms
Автор: Супротим Агарвал (Suprotim Agarwal) Аннотация. В этой статье будет показано, как перетаскивать и перемещать элементы из одного элемента Checkedlistbox в другой. В этой статье будет показано, как перетаскивать и перемещать элементы из одного элемента Checkedlistbox в другой. Выполните следующие действия: Шаг 1. Откройте Visual Studio > Файл > Создать > Проект. В области "Типы проектов" выберите нужный язык (Visual C# или Visual Basic). В области "Шаблоны" выберите "Приложение Windows". Выберите имя и папку проекта, а затем нажмите кнопку ОК. Шаг 2. Теперь перетащите два элемента управления Checkedlistbox (checkedListBoxA b checkedListBoxB) на форму. Сначала заполним список checkedListBoxA несколькими элементами, а затем во время выполнения перетащим и переместим элементы в список checkedListBoxB. Элементы также можно переместить обратно в список checkedListBoxA. В первую очередь в ходе перетаскивания будут обрабатываться 3 события. Этими событиями являются: Событие MouseDown элемента CheckedListBox — это событие обрабатывается, когда указатель мыши находится над элементом списка CheckedListBox и нажимается кнопка мыши. Событие DragOver Event элемента CheckedListBox — это событие обрабатывается, когда элемент списка перетаскивается в конечный список Checkedlistbox Событие DragDrop элемента CheckedListBox — это событие обрабатывается при завершении операции перетаскивания. Шаг 3. Теперь пойдем дальше и добавим в форму код. В файле Form1.cs или Form1.vb добавьте следующий код в конструктор формы: C#
VB.NET
В приведенном выше коде регистрируются события MouseDown, DragOver и DragDrop для двух списков CheckedListBox, а в методе Form_Load список checkedListBoxA заполняется несколькими элементами. Шаг 4. Теперь добавим код в описанные выше события: C#
VB.NET
Так как перетаскивание разрешено для обоих списков CheckedListBox, большая часть кода будет общей. Поэтому есть смысл определить общие обработчики событий. В событии checkedListBox_MouseDown сначала выполняется приведение отправителя к типу CheckedListBox, а затем определяется индекс элемента, используя using IndexFromPoint(). Возвращенный индекс — это индекс элемента, выделенного пользователем для перетаскивания. Затем для отправителя вызывается метод DoDragDrop(). Этот метод запускает операцию перетаскивания и принимает параметр object(checkedlistbox item), определяющий перетаскиваемый объект. Второй параметр определяет эффект перетаскивания. В методе checkedListBox_DragOver проверяется, является ли перетаскиваемый элемент допустимым для перетаскивания объектом. Наконец в методе checkedListBox_DragDrop сначала отправитель приводится к типу CheckedListBox, затем перетаскиваемый извлекается с помощью e.Data.GetData(), потом извлеченный элемент добавляется в коллекцию элементов списка checkedListBox. Чтобы обеспечить эффект перемещения, перетащенный элемент удаляется и списка-отправителя Checkedlistbox. Это все. Запустите пример, и вы сможете выполнять операции перетаскивания и удаления для элемента CheckedListBox. Я надеюсь, эта статья была полезной, и благодарю за то, что вы ее прочитали. Если статья понравилась, подпишитесь на мой RSS-канал. |
Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.