如何捕获在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代码。它释放了你的鼠标左键和换档键。 –