我試圖完成類似於here的其他工作,但是隨着答案的出現,我留下了一點問題,但這並不是什麼大問題,但醜陋的用戶POV:C#(VS2008)抑制修改鍵的鍵碼,但保留修飾符
當它將按鍵數據放入文本框中時,如果用戶在該字符之前按下修飾鍵(就像這樣),文本框將被填充,包括修飾符的鍵名。也就是說,我得到的結果是「CTRL + SHIFT + ShiftKey」。我試圖做的任何事情都是爲了抑制最後一個密鑰碼,最終也會抑制真正的密鑰。如果沒有我要求的抑制,這是我的基礎嘗試(原諒阻塞,我一直在分解它,並重寫它的一些部分,試圖在我自己的工作,無濟於事)。
String pressed ="";
e.SuppressKeyPress = true;
if ((e.Modifiers & Keys.Control) > 0)
{
pressed += "CTRL + ";
}
if ((e.Modifiers & Keys.Alt) > 0)
{
pressed += "ALT + ";
}
if ((e.Modifiers & Keys.Shift) > 0)
{
pressed += "SHIFT + ";
}
pressed += e.KeyCode;
txtCopyKey.Text = pressed;
希望我在這裏明白我在問什麼。
您可能會擺脫它,但* *嚴格,你應該使用'= 0'這裏,不是'> 0',就好像MSB被設置一樣,它將顯示爲負數。 – 2010-01-04 12:44:44
你說得對。我修復了它。謝謝。 – GeminiDomino 2010-01-04 13:12:30