【问题标题】:How can I perform an Alt key press while my application is loading?如何在我的应用程序加载时执行 Alt 键按下?
【发布时间】:2011-08-07 06:05:32
【问题描述】:

如何在 vb.net winforms 应用程序中加载表单时执行更改按键?

表示当执行表单的(devExpress 的 Xtraform)加载事件时,必须以编程方式按下 alt 键。 可能吗?如果是,请提出一些代码。

谢谢。

【问题讨论】:

  • 为什么在加载表单时需要按 ALT 键?我怀疑您的问题有比您想象的更好的解决方案。
  • @Cody Gray:因为我正在使用 DevExpress 工具并且我想开发我的应用程序的快捷键。 DevXpress 没有为按钮或其他控件提供直接设计时功能。它仅在用户运行应用程序并在运行时按 ALT 键时提供。而且我不想限制用户在运行时按 ALT 键。所以我决定在触发表单的加载事件时以编程方式按下该键。
  • 这没有任何意义。如果是这样的话,DevExpress 工具就完全坏掉了。您不应该仅仅为了拥有键盘快捷键而这样做。用户也不应该在每次应用启动时都重新配置键盘快捷键。您需要修复 DevExpress 的任何问题。无论如何模拟在您的应用程序启动时按住 ALT 键是不可能的。

标签: .net vb.net winforms devexpress form-load


【解决方案1】:

我想澄清一下我们的控件是如何工作的。实际上,您不是在谈论按钮的快捷方式,而是在按下 Alt+AnyKey 时激活按钮操作的加速键。为了定义这个加速键,& 符号包含在按钮的Text 属性中。

在自 2000 年以来的所有 Windows 版本中,默认行为是隐藏键盘加速键,这意味着您不会在控件的标题中看到此下划线。此下划线仅在按下 Alt 键时可见。如果您希望此效果始终可见,则有必要调整 MS Windows 本身的设置,如下所述:

Always show menu underline (keyboard accelerators)

但是,请注意,即使下划线不可见,键盘加速键仍然可以使用。用户可以随时按 Alt+AnyKey 触发相应的命令。

【讨论】:

  • 非常好,感谢您参与这个问题。由于从未使用过第三方控件集(并且通常不是它们的特别粉丝),我开始从描述中认为 DevExpress 控件只是……坏了。还值得指出的是,即使没有显示下划线,键盘快捷键仍然可以使用。比如Alt+F、S仍然会触发“&File -> &Save”。
  • 我知道你在说什么。但我不想限制用户在控制面板中进行任何设置。有没有其他解决方案可以解决这个问题?谢谢。
  • @Richa,不,没有其他解决方案。我也想告诉你,你不用担心。您的客户应该习惯这种行为,因为这是标准的 MS Windows 应用程序行为。
  • 谢谢。是否可以在表单 load() 事件中以编程方式发送 alt 按键?因为我正在尝试使用System.Windows.Forms.SendKeys.Send("{ALT}") 发送它,但它给了我my application is not handling windows messages 的错误。你知道与此相关的任何事情吗?
猜你喜欢
  • 2012-01-25
  • 2021-11-07
  • 1970-01-01
  • 2021-09-23
  • 2020-02-16
  • 2020-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多