我制作了一个表单并创建了一个命令按钮控件。我想这样做,当用户按下命令按钮时,它会向我选择的列表框发送一个按键。
具体来说,我希望命令按钮将“向下”箭头键击发送到列表框(它将具有焦点),以便它从当前项目转到下一个项目。
我该怎么做?
假设我的列表框名称为“lstFruits”。我给了它焦点,然后尝试了SendKey。
Form.lstFruits.SetFocus.
SendKeys.Send ("{DOWN}")
收到错误“Argument not optional”。
答案 0 :(得分:2)
无需模拟击键,您可以在代码中控制列表框;
lstFruits.SetFocus
if ((lstFruits.listindex + 1) < lstFruits.listcount) then
lstFruits.listindex = lstFruits.listindex+ 1
endif
修改强>
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