Программный запуск функциональности клавиш вкладки в приложении Windows VB.Net - PullRequest
3 голосов
/ 04 августа 2010

Как программно вызвать функциональность клавиши табуляции в Windows-приложении VB.Net?

В настоящее время в моем приложении я использую один сплиттер, когда нажимаю клавишу табуляции, и фокус перемещается в правильном порядке.

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

Заранее спасибо

Ответы [ 3 ]

3 голосов
/ 04 августа 2010

Вы можете смоделировать метод SendKeys.Send(string) (в пространстве имен Systems.Windows.Forms).Чтобы смоделировать нажатие клавиши табуляции, вы должны позвонить SendKeys.Send("{TAB}").

Чтобы увидеть все коды клавиш, проверьте http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.aspx

2 голосов
/ 10 ноября 2011

Лучше поздно, чем никогда, так как я нашел этот пост в поисках решения аналогичной проблемы.

Тип Windows Form имеет ContainerControl где-то в своей цепочке наследования и имеет метод ProcessTabKey (Boolean trueForForward). Он делает именно то, что вам нужно, внутри экземпляра формы this.ProcessTabKey (true) будет перемещать фокус вперед по индексу табуляции, а this.ProcessTabKey (false) перемещает его назад.

1 голос
/ 17 июня 2013

Очень простой код

Запишите это в KeyDown Event of Datagridview

   If e.KeyCode = Keys.Enter Then
        ' Your code here
        SendKeys.Send("{TAB}")
        e.Handled = True
   End If
...