急教,
一winform表單,游標在任意位置時,單按左邊ctrl鍵就呼叫某方法;
但ctrl+c、ctrl+v時不觸發
uj5u.com熱心網友回復:
按下還是按住還是按鍵后觸發?這三個監聽的事件是不一樣的,如果是按下或按住觸發你可能要通過Windows API 攔截視窗message來做了。如果是按鍵程序完成后(按下->按住->松開整個程序完成后)攔截keypress事件應該可以通過e.keycode判斷出來。很久沒做過表單這些事件的攔截了,也許我說的全是錯的也說不定。
uj5u.com熱心網友回復:
給表單添加一個按鍵事件判斷是不是按下了Ctrl鍵
uj5u.com熱心網友回復:
注冊表單KeyUp事件,就是按鍵按下松開后觸發的事件在事件內寫判斷陳述句:
if (e.Key == Key.LeftCtrl || e.Key == Key.RightCtrl)
uj5u.com熱心網友回復:
我重新看了一下你的需求,請你仔細回憶一下你按Ctrl+c和Ctrl+v的時候是怎么按鍵的,是不是先按住Ctrl再按c或者v,這樣的話,你在單按坐標Ctrl的時候就已經觸發了事件后再按下c的時候到底該怎么判斷呢?所以你要說清楚,你這個單按,是按下去,按住還是按下去松開整個程序。
uj5u.com熱心網友回復:
ctrl c ctrl v是系統命令你要override 表單的ProcessCmdKey看看
uj5u.com熱心網友回復:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.C))
{
//你的代碼
return true;
}
else
return base.ProcessCmdKey(ref msg, keyData);
}
uj5u.com熱心網友回復:
左鍵,好像不好弄,需要的話,抽空給你寫一個轉載請註明出處,本文鏈接:https://www.uj5u.com/net/114890.html
標籤:C#
