【问题标题】:How to determine which form controls the keyboard input on VB.net如何确定 VB.net 上哪个表单控制键盘输入
【发布时间】:2014-02-01 12:19:50
【问题描述】:

我正在开发一个 VB.net Windows 应用程序,但我在键盘输入方面遇到了一些问题。

我的应用程序有不同的表单,我通过用户交互显示和隐藏它们。其中一个输入来自键盘,这就是我遇到问题的地方。

当我隐藏一个表单并显示下一个表单时,大多数情况下,新显示的表单在我单击它的某个位置之前不会收到键盘输入。

我认为问题在于我显示的新表单不是 Windows 的“选定应用程序”,直到用户通过单击它与之交互,但我不知道如何设置此“属性”通过代码。

我尝试在整个表单 (Me.select/focus) 和某些表单的控件 (me.lbl_xxx.select/focus) 上进行焦点和选择,但没有得到任何结果。

谁能解释我如何控制哪个应用程序/表单在 Windows 上获取键盘输入?

谢谢 大卫

【问题讨论】:

  • 您只是隐藏表单,还是卸载并关闭它们?
  • 我创建了所有表单,我所做的只是隐藏/显示它们并将 Topmost 属性设置为可见的。由于程序流程,我无法每次都杀死和创建表单。

标签: vb.net forms input keyboard controls


【解决方案1】:

您无法真正与标签进行交互,因此无法正确设置输入焦点。 另一方面,将特定文本框集中在表单上应该可以正常工作。

【讨论】:

    猜你喜欢
    • 2017-11-16
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    相关资源
    最近更新 更多