Create ListBox controls with companion priority buttons

You can easily create a ListBox control similar to the one found in the VB’s Project References dialog box, that lets you select multiple items and move them up and down using two companion buttons.

First of all, create a ListBox control (say, List1) and two CommandButton controls to its right, named cmdUp and cmdDown. Set the buttons’ Caption property to “Up” and “Down”, respectively. Finally, add this code to the form module:

Private Sub cmdUp_Click()    ' only if the first item isn't the current one    If List1.ListIndex >= 0 Then        ' add a duplicate item up in the listbox        List1.AddItem List1.Text, List1.ListIndex - 1        ' make it the current item        List1.ListIndex = List1.ListIndex - 2        ' delete the old occurrence of this item        List1.RemoveItem List1.ListIndex + 2    End IfEnd SubPrivate Sub cmdDown_Click()    ' only if the last item isn't the current one    If List1.ListIndex <> -1 And List1.ListIndex < List1.ListCount - 1 Then        ' add a duplicate item down in the listbox        List1.AddItem List1.Text, List1.ListIndex + 2        ' make it the current item        List1.ListIndex = List1.ListIndex + 2        ' delete the old occurrence of this item        List1.RemoveItem List1.ListIndex - 2    End IfEnd SubPrivate Sub List1_Click()    ' enable/disable buttons when the current item changes    cmdUp.Enabled = (List1.ListIndex > 0)    cmdDown.Enabled = (List1.ListIndex <> -1 And List1.ListIndex < _        List1.ListCount - 1)End Sub

If you want to enable and disable the two buttons as soon as you show the form, remember to set the ListBox's ListIndex property explicitly in the Form_Load event to a value other than -1, or manually call the List1_Click procedure:

Private Sub Form_Load()    ' because there is no current item (ListIndex = -1) you    ' must call the Click procedure manually    Call List1_ClickEnd Sub

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

The Latest

homes in the real estate industry

Exploring the Latest Tech Trends Impacting the Real Estate Industry

The real estate industry is changing thanks to the newest technological advancements. These new developments — from blockchain and AI to virtual reality and 3D printing — are poised to change how we buy and sell homes. Real estate brokers, buyers, sellers, wholesale real estate professionals, fix and flippers, and beyond may

man on floor with data

DevX Quick Guide to Data Ingestion

One of the biggest trends of the 21st century is the massive surge in internet usage. With major innovations such as smart technology, social media, and online shopping sites, the internet has become an essential part of everyday life for a large portion of the population. Due to this internet

payment via phone

7 Ways Technology Has Changed Traditional Payments

In today’s digital world, technology has changed how we make payments. From contactless cards to mobile wallets, it’s now easier to pay for goods and services without carrying cash or using a checkbook. This article will look at seven of the most significant ways technology has transformed traditional payment methods.