我如何模拟按下;“向下”;vb6中的箭头?

我如何模拟按下;“向下”;vb6中的箭头?,vb6,sendkeys,Vb6,Sendkeys,我制作了一个表单并创建了一个命令按钮控件。我希望这样,当用户按下命令按钮时,它会向我选择的列表框发送一个击键 具体来说,我希望命令按钮向列表框(将具有焦点)发送一个“向下”箭头击键,以便它从当前项转到下一项 我该怎么做 假设我的列表框的名称是“lstFruits”。我给它焦点,然后尝试SendKey Form.lstFruits.SetFocus. SendKeys.Send ("{DOWN}") 获取错误“参数不是可选的” 无需模拟击键,您可以在代码中控制列表框 lstFruits.SetF

我制作了一个表单并创建了一个命令按钮控件。我希望这样,当用户按下命令按钮时,它会向我选择的列表框发送一个击键

具体来说,我希望命令按钮向列表框(将具有焦点)发送一个“向下”箭头击键,以便它从当前项转到下一项

我该怎么做

假设我的列表框的名称是“lstFruits”。我给它焦点,然后尝试SendKey

Form.lstFruits.SetFocus.
SendKeys.Send ("{DOWN}")

获取错误“参数不是可选的”

无需模拟击键,您可以在代码中控制列表框

lstFruits.SetFocus
if ((lstFruits.listindex + 1) < lstFruits.listcount) then
    lstFruits.listindex = lstFruits.listindex+ 1
endif
lstFruits.SetFocus
如果((lstFruits.listindex+1)
编辑

Dim strName As String
strName = "lstFruits"

Dim lst As VB.ListBox: Set lst = TheForm.Controls(strName)

lst.SetFocus
If ((lst.ListIndex + 1) < lst.ListCount) Then
    lst.ListIndex = lst.ListIndex + 1
End If
Dim strName作为字符串
strName=“lstFruits”
将lst设置为VB.ListBox:Set lst=form.Controls(strName)
lst.SetFocus
如果((lst.ListIndex+1)
有关答案,请参阅;关于错误,请参阅。嗨,Alex K。感谢您的回复!如果我有一个包含列表框名称的字符串怎么办?说strName=lst。如何使用您的代码,使其能够获取字符串,然后向下移动列表框?上面已更新,但通常您不需要将名称存储为字符串。