Как имитировать нажатие стрелки "вниз" в vb6? - PullRequest
0 голосов
/ 20 февраля 2012

Я сделал форму и создал командную кнопку управления.Я хотел бы сделать так, чтобы, когда пользователь нажимает командную кнопку, он посылал нажатие клавиши в список по моему выбору.

В частности, я хочу, чтобы командная кнопка отправляла нажатие стрелки «вниз» в список (который будет иметь фокус), чтобы он переходил от текущего элемента к следующему элементу.

Какя делаю это?

Допустим, имя моего списка - "lstFruits".Я выделил его, затем попытался использовать SendKey.

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

Получил ошибку «Аргумент не является обязательным».

1 Ответ

2 голосов
/ 20 февраля 2012

Нет необходимости эмулировать нажатие клавиши, вы можете управлять списком в коде;

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
...