Click here to Skip to main content
Click here to Skip to main content

Moving listbox items

, 26 Mar 2008 CPOL
Rate this:
Please Sign up or sign in to vote.
Move lisbox items and change indices.

Introduction

This solution helps with a small but sometimes irritating problem, which may cause time loss when working on large projects. It moves listbox items up and down on the click of a button.

Using the code

First off, add a button or two, depending on what you want to achieve, to your form and set this code to the up button action:

if (listBox1.SelectedItems.Count > 0)
{
    object selected = listBox1.SelectedItem;
    int indx = listBox1.Items.IndexOf(selected);
    int totl = listBox1.Items.Count;

    if (indx == 0)
    {
        listBox1.Items.Remove(selected);
        listBox1.Items.Insert(totl - 1, selected);
        listBox1.SetSelected(totl - 1, true);
    }
    else{
        listBox1.Items.Remove(selected);
        listBox1.Items.Insert(indx - 1, selected);
        listBox1.SetSelected(indx - 1, true);
    }
}

And then, add this to the down button action:

if (listBox1.SelectedItems.Count > 0)
{
    object selected = listBox1.SelectedItem;
    int indx = listBox1.Items.IndexOf(selected);
    int totl = listBox1.Items.Count;

    if (indx == totl - 1)
    {
        listBox1.Items.Remove(selected);
        listBox1.Items.Insert(0, selected);
        listBox1.SetSelected(0, true);
    }
    else{
        listBox1.Items.Remove(selected);
        listBox1.Items.Insert(indx + 1, selected);
        listBox1.SetSelected(indx + 1, true);
    }
}

Points of Interest

For even better usability, the buttons can be disabled by default, and can be enabled when an item is selected. Furthermore, I hope this code will come in handy!

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

privately voided()

South Africa South Africa
No Biography provided

Comments and Discussions

 
GeneralMy vote of 4 PinmemberMember 277166629-Oct-13 16:38 
Questionfollowing is smart code without any trouble: PinmemberJai Deo Tiwari22-Oct-13 21:21 
GeneralMy vote of 5 Pinmemberviragdesai16-Sep-12 18:58 
GeneralGreat Code Pinmembertim horigan20-Feb-11 9:38 
GeneralMy vote of 5 Pinmembertim horigan20-Feb-11 9:37 
GeneralMy vote of 2 PinmemberReymonARG13-Feb-10 18:48 
GeneralSlight issue with this example if duplicates exist in your list. PinmembertooMuchCode6-Nov-08 12:26 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web04 | 2.8.141022.2 | Last Updated 26 Mar 2008
Article Copyright 2008 by privately voided()
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid