我如何模仿按下“向下”按钮vb6中的箭头?

发布于 2025-01-06 22:15:46 字数 288 浏览 0 评论 0原文

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

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

我该怎么做?

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

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

收到错误“参数不可选”。

I made a form and created a command button control. I would like to make it so that when the user presses the command button it sends a keystroke to a listbox of my choice.

Specifically, I want the command button to send a "down" arrow keystroke to a listbox (which will have focus) so that it goes from the current item to the next item.

How do I do this?

Let's say the name of my listbox is "lstFruits". I gave it focus, then tried SendKey.

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

Got the error "Argument not optional".

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏有森光若流苏 2025-01-13 22:15:46

无需模拟按键,即可通过代码控制列表框;

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

There is no need to emulate a keystroke, you can control the listbox in code;

lstFruits.SetFocus
if ((lstFruits.listindex + 1) < lstFruits.listcount) then
    lstFruits.listindex = lstFruits.listindex+ 1
endif

Edit

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文