-->

Sunday, June 9, 2013

How to drag and drop items from one CheckedListBox to another in windows forms

How to drag and drop items from one CheckedListBox to another in windows forms

Most of the GUI based application provides Drag-n-Drop operation. This function enables the user to drag an item from one location and drop to another location. In our previous post we have studied how to bind CheckedListBox using database. Now we will perform Drag-n-Drop operation with two CheckedListBox.


There are series of events that needs to be handled to perform this Drag-n-Drop operation, these are:

MouseDown (of source control): this event is occur when the mouse pointer is over the control and mouse button is pressed. It is beginning point of this operation, where DoDragDrop() method is called to set the data that is to be dragged.
DragEnter (of destination control): occur when mouse drag an item into area of this control. Here, we check that the desired type of data are present or not.
DragDrop (of destination control): occur when Drag-n-Drop operation completed. Here, we retrieve the dragged data and drop it.

Before we start this operation do insert some items in checkedListBox1 i.e.


string[] items = new string[] { "item 1", "item 2", "item 3", "item 4", "item 5" };

checkedListBox1.Items.AddRange(items);

Steps to perform this operation:
Step 1
            Initiate Drag-n-Drop operation for checkedListBox1 by calling DoDragDrop() method from MouseDown event of the control.


Drag-n-Drop

Step 2
            Handle the event to provide information about the operation to the user i.e. DragEnter event of checkedListBox2.


Drag-n-Drop2

Step 3
            To enable to checkedListBox2 to accept the data, set its AllowDrop property to true.
            checkedListBox2.AllowDrop = true;

Step 4
            Handle DragDrop event of checkedListBox2 to specifying what is to be done with dropped data.


DragDrop event of checkedListBox2

Download Example here.

Read other related articles

Also read other articles

© Copyright 2013 Computer Programming | All Right Reserved