使用 Visual Basic 6.0,我尝试用一个列表框的项目填充另一个列表框的项目。
谁能解释一下为什么以下子程序无法正常工作, 将两个列表框作为参数传递时出现类型不匹配。
Public Sub copyListboxes(Byref lstFrom as Listbox, Byref lstTo as Listbox)
Dim i as integer
For i = 0 to lstFrom.Listcount -1
lstTo.Additem lstFrom.List(i)
Next i
End Sub
'Call copyListboxes(Listbox1,Listbox2) 'Type Mismatch ... ?
提前致谢。
最佳答案
我能够通过使用组合框而不是列表框来重现您的错误:
'1 form with:
' 1 command button: name=Command1
' 2 combobox controls: name=Listbox1 name=Listbox2
Option Explicit
Private Sub Command1_Click()
Call copyListboxes(Listbox1, Listbox2) 'Type Mismatch!
End Sub
Public Sub copyListboxes(ByRef lstFrom As ListBox, ByRef lstTo As ListBox)
Dim i As Integer
For i = 0 To lstFrom.ListCount - 1
lstTo.AddItem lstFrom.List(i)
Next i
End Sub
Private Sub Form_Load()
Dim intIndex As Integer
For intIndex = 1 To 10
Listbox1.AddItem CStr(intIndex)
Next intIndex
End Sub
要解决此问题,您可以使用列表框控件或更改子控件以使用组合框控件:
Public Sub copyListboxes(ByRef lstFrom As ComboBox, ByRef lstTo As ComboBox)
Dim i As Integer
For i = 0 To lstFrom.ListCount - 1
lstTo.AddItem lstFrom.List(i)
Next i
End Sub
关于winforms - VB6 列表框复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27533415/