2015-09-13 26 views

回答

0

您可以閱讀here是通過事件參數就可以了,如果確認換擋是否被按下了激烈:

if (e.Shift) 
{ 
    // the key is + 
} 
else 
{ 
    // the key is = 
} 
1

檢查System.Windows.Forms.KeyEventArgs的文檔,它看起來你在這裏使用,你會發現幾個記錄的屬性給你「故事的其餘部分」。

你感興趣的是Shift屬性。例如:

if (e.Shift) { /* the key is + */ } 
      else { /* the key is = */ } 

也請注意,這只是檢查移屬性,不考慮用戶也按住Alt鍵的可能性,或控制鍵,這是在性能同樣體現Alt和Control

此外,您可能需要了解Modifiers屬性,該屬性是一個位字段,一次指示所有修飾鍵的狀態(Atl,Control和Shift)。此外,您還需要研究KeyValue,KeyCode和KeyData之間的區別。

KeyValue被定義爲一個原始數值,正如您發現的那樣忽略了偏移狀態,所以它不能區分小寫字母和大寫字母,或者在+和=之間。