列表框控件、ColumnCount 和 ColumnWidths 属性示例

下例用 ColumnWidths 属性来改变多列列表框的列宽;用三个文本框控件来指定单个列的宽度,并用 Exit 事件来指定每一个文本框的度量单位。

窗体包含:

  • 名为 ListBox1 的列表框。
  • 名为 TextBox1 到 TextBox3 的三个文本框控件。
  • 名为 CommandButton1 的命令按钮。

试着输入 0 值来隐藏列。

Dim MyArray(2,3)

Sub UserForm_CommandButton1_Click()
    '被分号分开的每一列
    '都需要 ColumnWidths 值
    UserForm_ListBox1.ColumnWidths =UserForm_TextBox1.Text & ";" & UserForm_TextBox2.Text & ";" & UserForm_TextBox3.Text

End Sub
Sub UserForm_TextBox3_Exit(Cancel)

        UserForm_TextBox3.Text = UserForm_TextBox3.Text

End Sub
Sub UserForm_TextBox2_Exit(Cancel)

        UserForm_TextBox2.Text = UserForm_TextBox2.Text

End Sub
Sub UserForm_TextBox1_Exit( Cancel)

        UserForm_TextBox1.Text = UserForm_TextBox1.Text

End Sub
Sub UserForm_Initialize()
Dim i, j, Rows

UserForm_ListBox1.ColumnCount = 3
Rows = 2

For j = 0 To UserForm_ListBox1.ColumnCount - 1
    For i = 0 To Rows - 1
        MyArray(i, j) = "Row " & i & ", Column " & j
    Next
Next
    
UserForm_ListBox1.List() = MyArray           '把 MyArray 加载到 ListBox1
   
UserForm_TextBox1.Text = "1"              '初始为 1 英寸列
UserForm_TextBox2.Text = "1"
UserForm_TextBox3.Text = "1"
End Sub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41