我写了下面的一段代码,界面上有一个文本框控件,Multiline属性为True,Scrollbars属性为2,还有一个标签和一个命令按钮.运行一切正常,我现在的问题是把文本框改为列表框,要达到与文本框一样的效果,里面的每一个数都要以"00"格式显示.还有一个要求就是每行的数据要从小到大的顺序排列,代码该怎么写呢?谢谢!
Private Sub Command1_Click()
Dim a0() As Integer, a1() As Integer, x%, y$
y = InputBox("请输入a0数组元素个数", "输入数据", "5")
If Val(y) = 0 Or Val(y) = 1 Then Exit Sub
ReDim a0(1 To Val(y))
For x = 1 To UBound(a0)
y = InputBox("请输入a0数组第" & x & "个元素", "输入数据", "1")
If Val(y) = 0 Then Exit Sub
a0(x) = Val(y)
Next
y = InputBox("请输入a1数组元素个数", "输入数据", "4")
If Val(y) = 0 Or Val(y) = 1 Then Exit Sub
ReDim a1(1 To Val(y))
For x = 1 To UBound(a1)
y = InputBox("请输入a1数组第" & x & "个元素", "输入数据", "2")
If Val(y) = 0 Then Exit Sub
a1(x) = Val(y)
Next
Text1.Text = Px(a0(), a1())
End Sub
Private Function Px(aa%(), bb%()) As String
Dim a%, b%, c%, x%, y%, i%, m%
i = 0
For a = 1 To UBound(aa) - 2
For b = a + 1 To UBound(aa) - 1
For c = b + 1 To UBound(aa)
For x = 1 To UBound(bb) - 1
For y = x + 1 To UBound(bb)
i = i + 1 '行序列号
If i >= 1000 Then
m = 3 '行序列号后面的空格数,确保组合后的第一个数据对齐
ElseIf i >= 100 And i < 1000 Then
m = 4
ElseIf i >= 10 And i < 100 Then
m = 5
Else
m = 6
End If
Px = Px & i & Space(m) & Str(aa(a)) & Str(aa(b)) & _
Str(aa(c)) & Str(bb(x)) & Str(bb(y)) & vbCrLf
Next y, x, c, b, a
Label1.Caption = "一共有" & Str(i) & "种组合"
End Function
以下程序实现:在文本框输入内容,按回车键(Enter键)后,文本框中的内容输出到列表框。
1)在窗体上布置一个TextBox控件和一个ListBox控件
2)代码
Option Explicit3)运行效果
窗体启动时
在Text1中输入,按回车后,输入的内容在List1中显示