ListStyle, MultiSelect Properties Example

The following example uses the ListStyle and MultiSelect properties to control the appearance of a ListBox. The user chooses a value for ListStyle using the ToggleButton and chooses an OptionButton for one of the MultiSelect values. The appearance of the ListBox changes accordingly, as well as the selection behavior within the ListBox.

To use this example, copy this sample code to the Script Editor of a form. To run the code you need to open the form so the Open event will activate. Make sure that the form contains:

Sub Item_Open()
    Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
    Set Label1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("Label1")
    Set OptionButton1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("OptionButton1")
    Set OptionButton2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("OptionButton2")
    Set OptionButton3 = Item.GetInspector.ModifiedFormPages("P.2").Controls("OptionButton3")
    Set ToggleButton1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ToggleButton1")

    For i = 1 To 8
        ListBox1.AddItem "Choice" & (ListBox1.ListCount + 1)
    Next
    
    Label1.Caption = "MultiSelect Choices"
    Label1.AutoSize = True
    
    ListBox1.MultiSelect = 0        '0=fmMultiSelectSingle
    OptionButton1.Caption = "Single entry"
    OptionButton1.Value = True
    OptionButton2.Caption = "Multiple entries"
    OptionButton3.Caption = "Extended entries"
    
    ToggleButton1.Caption = "ListStyle - Plain"
    ToggleButton1.Value = True
    ToggleButton1.Width = 90
    ToggleButton1.Height = 30
End Sub

Sub OptionButton1_Click()
    Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
    ListBox1.MultiSelect = 0        '0=fmMultiSelectSingle
End Sub

Sub OptionButton2_Click()
    Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
    ListBox1.MultiSelect = 1        '1=fmMultiSelectMulti
End Sub

Sub OptionButton3_Click()
    Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
    ListBox1.MultiSelect = 2        '2=fmMultiSelectExtended
End Sub

Sub ToggleButton1_Click()
    Set ToggleButton1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ToggleButton1")
    Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")

    If ToggleButton1.Value = True Then
        ToggleButton1.Caption = "Plain ListStyle"
        ListBox1.ListStyle = 0    '0=fmListStylePlain
    Else
        ToggleButton1.Caption = "OptionButton or CheckBox"
        ListBox1.ListStyle = 1    '1=fmListStyleOption
    End If
End Sub