ListView 上的 Ctrl+C 识别为 "LButton | Shift Key"
Ctrl+C on ListView recognises as "LButton | Shift Key"
如何捕获在列表视图上按下的“ctrl+c”键?
我也在努力
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 | 的组合Sift Key 当我按下 ctrl+C 时:
P.S.: windows安装了两种语言,系统Win2012 R2
更新1:谢谢您的评论!如果我记录操作,我会看到:
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);
}
更新2:
这样解决。不要问我如何:-D
if (((e.KeyData & Keys.ControlKey) != Keys.ControlKey) && e.KeyCode == Keys.C)
CopyLogEntriesToClipboard();
更新3:
KeyUp 事件的先前作品。 KeyDown 第一个代码片段有效
最好捕捉按键按下事件(我已经通过按住 Ctrl+C 并在不释放按钮的情况下切换到另一个按键来在编辑器上检查过它)。
请再试一次你的第一次施工。它对我有用!
private void listView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.C)
Text = "got it";
}
如何捕获在列表视图上按下的“ctrl+c”键?
我也在努力
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 | 的组合Sift Key 当我按下 ctrl+C 时:
P.S.: windows安装了两种语言,系统Win2012 R2
更新1:谢谢您的评论!如果我记录操作,我会看到:
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);
}
更新2:
这样解决。不要问我如何:-D
if (((e.KeyData & Keys.ControlKey) != Keys.ControlKey) && e.KeyCode == Keys.C)
CopyLogEntriesToClipboard();
更新3:
KeyUp 事件的先前作品。 KeyDown 第一个代码片段有效
最好捕捉按键按下事件(我已经通过按住 Ctrl+C 并在不释放按钮的情况下切换到另一个按键来在编辑器上检查过它)。 请再试一次你的第一次施工。它对我有用!
private void listView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.C)
Text = "got it";
}