C# ListBox - Sort Ascending and Descending

c# data sorting

So guys we see here how to sort ListBox data in C# windows forms.We sort both ascending and descending. This is what we do :

  • Fill up an array with data.
  • Fill our ListBox with that data.
  • When the user clicks the sort button we sort ascending.
  • When the user clicks again we sort descending and vice versa.

Here's the code :  

using System;
using MetroFramework.Forms;

namespace CS_ListBox_Sort
{
    public partial class Form1 : MetroForm
    {
        //DECALARATIONS
        private readonly string[] spacecrafts = { "Kepler", "Casini", "Voyager", "New Horizon", "James Web", "Apollo 15", "Enterprise", "WMAP", "Spitzer", "Galileo" };
        private bool ascending = true;

        //constructor
        public Form1()
        {
            InitializeComponent();
            populate();
        }
        /*
         * POPULATE LISTBOX
         */
        private void populate()
        {
            listBox1.Items.Clear();
            foreach (var s in spacecrafts)
            {
                listBox1.Items.Add(s);
            }
        }

        /*
         * SORT
         */
        private void sort(bool asc)
        {
            //SORT ARRAY ASCENDING AND DESCENDING
            if (asc)
            {
                Array.Sort(spacecrafts);
            }
            else
            {
                Array.Reverse(spacecrafts);
            }

            //CLEAR AND POPULATE LISTBOX
            populate();

        }

        /*
         * SORT BUTTON CLICKED
         */
        private void sortBtn_Click(object sender, EventArgs e)
        {
            sort(ascending);
            ascending = !ascending;

        }

    }
}

Best Regards.

How do You Feel after reading this?

According to scientists, we humans have 8 primary innate emotions: joy, acceptance, fear, surprise, sadness, disgust, anger, and anticipation. Feel free to tell us how you feel about this article using these emotes or via the comment section. This feedback helps us gauge our progress.

Help me Grow.

I set myself some growth ambitions I desire to achieve by this year's end regarding this website and my youtube channel. Am halfway. Help me reach them by:




Recommendations


What do You Think

Dear readers drop us your comments below. We are building a community of students and learners. Start by dropping us your suggestions below. What tutorials do you want us to do for example? Where can we improve? What are some awesome resources out there? Do you have any code you want to share with us?
By the way that example or snippet you have lying in your computer can really help beginner programmers. We can share it here with other students.

Previous Post Next Post