【问题标题】:how to detect when the alt key is being pressed?如何检测alt键何时被按下?
【发布时间】:2021-09-23 22:32:18
【问题描述】:

我想知道如何检测“alt”键是否被按下,就像在输入“@”符号时按下 alt 键和“à”一样,我也不能使用 _KeyDown 事件,因为我正在制作类。

好的,我刚刚试过这个:

if (Control.ModifierKeys.ToString() == "Alt")
{    
    MessageBox.Show("ALT");
}

但由于某种原因,这只适用于左 alt 键..

【问题讨论】:

  • 什么ui框架? wpf?毛伊岛? winform?
  • 没有 UI,因为就像我说的那样,它几乎是一个控制台应用程序
  • GetAsyncKeyState -- GetKeyboardState -- 注意,当按下 ALT Gr 时,ModifierKeys 返回Control ALT,当按下左 ALT 键时返回 ALT。
  • 我的意思是,你可以查看ModifierKeys == (Keys.Control | Keys.Alt)。

标签: c# keyboard


【解决方案1】:

这是解决方案 https://stackoverflow.com/users/7444103/jimi

 if (Control.ModifierKeys.ToString() == "Alt" || Control.ModifierKeys == (Keys.Control | Keys.Alt))
        {
            MessageBox.Show("The Alt key is being pressed");
        }

【讨论】:

    猜你喜欢
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 2010-10-24
    • 2021-01-27
    • 1970-01-01
    • 2012-07-04
    相关资源
    最近更新 更多