如何捕獲在ListView上按下的「ctrl + c」鍵?ListView上的Ctrl + C識別爲「LButton | Sift Key」
我想這樣的
private void listviewLogger_KeyUp(object sender, KeyEventArgs e)
{
if (sender != listviewLogger) return;
//if (e.Control && e.KeyData == (Keys.Control | Keys.C))
if (e.Control && e.KeyCode == Keys.C)
CopySelectedValuesToClipboard();
}
但它表明我LButton的組合|篩主要當我按下CTRL + C:
P.S:已經安裝在Windows兩種語言,系統Win2012 R2
UPDATE1:感謝你評論!如果我登錄的動作,我看到:
e.KeyData:CONTROLKEY
e.KeyCode:CONTROLKEY
e.KeyData:C
e.KeyCode:C
但還是無法抓住這個按鍵順序。代碼:
private void listviewLogger_KeyUp(object sender, KeyEventArgs e)
{
if (sender != listviewLogger)
{
return;
}
Logger("e.KeyData: " + e.KeyData);
Logger("e.KeyCode: " + e.KeyCode);
}
UPDATE2:
解決這個樣子。不要問我怎麼:-D
if (((e.KeyData & Keys.ControlKey) != Keys.ControlKey) && e.KeyCode == Keys.C)
{
CopyLogEntriesToClipboard();
}
UPDATE3:
以前的作品爲KEYUP事件。對於的KeyDown第一代碼段工程
那麼,你不能用這樣的斷點調試GUI代碼。它釋放了你的鼠標左鍵和換檔鍵。 –