AllTheTimeWorld.com

csharp listboxList Box Editor: Step 10, Order the List

List Box Editor: Step 10, Order the List

List Box Editor: Step 10, Order the List

Order the List

The two buttons allow use to move the selected item in the list up and down.

Write the code as shown below.

private void btnUp_Click(object sender, EventArgs e)
{
   // Change the position by -1 example: Move from position 3 to position 2
   MoveItem(-1);
}

private void btnDown_Click(object sender, EventArgs e)
{
   // Change the position by 1 example: Move from position 2 to position 3
   MoveItem(1);
}

public void MoveItem(int direction)
{
   // Check if item can it be moved.
   Boolean ok = true;
   // Checking selected item
   if (lstData.SelectedItem == null || lstData.SelectedIndex < 0)
      ok = false; // No selected item - nothing to do
   // Calculate new index using move direction
   int newIndex = lstData.SelectedIndex + direction;
   // Checking bounds of the range
   if (newIndex < 0 || newIndex >= lstData.Items.Count)
      ok = false; // Index out of range - nothing to do
   if (ok)
   {   // None of the errors above occured, move the item.
       object selected = lstData.SelectedItem;
       // Removing removable element
       lstData.Items.Remove(selected);
       // Insert it in new position
       lstData.Items.Insert(newIndex, selected);
       // Restore selection
       lstData.SetSelected(newIndex, true);
       changed = true;
   }
}

To Do:Make sure everything works!

Experiment:When the form is resized, make hte list box fill the area.

Complete code for listbox editor