我如何组合键?

时间:2014-06-29 20:04:56

标签: c#

我希望它具有组合键,因此您可以执行CTRL + E而不是下面的操作。

ConsoleKeyInfo thekey = new ConsoleKeyInfo();   
if (thekey.Key == ConsoleKey.Q)    
{

}

3 个答案:

答案 0 :(得分:2)

您还需要验证修改器属性 -

if(thekey.Key == ConsoleKey.Q 
&& (thekey.Modifiers & ConsoleModifiers.Control) != 0) 
{
  ...
}

答案 1 :(得分:1)

通过检查Modifiers属性,可能类似于下面的内容。有关详情,请参阅Here

ConsoleKeyInfo cki = Console.ReadKey();

if((cki.Modifiers & ConsoleModifiers.Alt) != 0) 
Console.Write("ALT+ {0}",cki.Key.ToString());

答案 2 :(得分:-1)

您可以在按下键时将键推入队列,然后清除每个有效组合上的队列。您还可以将单独的有效组合列表存储为按键树,以便在序列中没有有效组合时提前清除队列。