[英]How to create custom shortcuts for DataGridView?
我試圖在Windows窗體的DataGridView
控件中創建快捷方式(CTRL + J)。 該快捷方式應完全按照向下箭頭的方式進行操作(即,在大多數情況下,將選擇更改為下一項)。
如果FormKeyDown
收到J鍵和Ctrl作為修飾符,我試圖通過覆蓋表單的FormKeyDown
事件並使用SendKeys.SendWait("{DOWN}")
處理CTRL + J。
但是,當我發送{DOWN}
鍵時,它的作用類似於Ctrl + Down,因為用戶仍然按住CTRL鍵!
如何創建自定義快捷方式,使其行為與DataGridView
已支持的快捷方式完全相同?
您應該避免依賴於使用SendKeys
模仿用戶輸入,而是使用正確的API進行DataGridView
類上可用的編程選擇。 您可以檢查以下頁面上的程序選擇部分:
Windows Forms DataGridView控件中的選擇模式
在實現用於程序選擇的代碼時,您需要考慮為數據網格視圖配置的SelectionMode
。
或者,您可以從DataGridView
子類並實現您的自定義快捷方式,以便它們重定向到現有的快捷方式。 例:
public class MyDataGridView : DataGridView
{
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.J))
{
this.ProcessDownKey(Keys.Down);
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.