datagridview 按回車鍵橫向移動問題

2021-04-25 21:57:27 字數 1213 閱讀 1573

我在作乙個關於記件工資系統時候,datagridview 按回車鍵預設是向下一行移動,操作文員為了輸入更快一點,需要按回車鍵就橫向移動繼續輸入資料,其操作文員主要用右手操作鍵盤的數字鍵區域,每天輸入量大,所以必須要解決這個實際問題.

我在網上搜尋了一些:

private void dgv_jj_previewkeydown(object sender, previewkeydowneventargs e)

");sendkeys.send("");}}

private void dgv_jj_keydown(object sender, keyeventargs e)

");}

}等等關於datagridview鍵盤的事件都沒有反應!納悶,微軟既然設計了此事件為什麼沒有反映呢?網上也是千篇一律的這樣的**,那些人我懷疑跟本沒有編譯執行過,就在那揭貼!

原來主要是因為快捷鍵與選單快捷方式被稱為命令鍵,命令鍵也就始終比常規輸入鍵具有優先權。命令鍵的鍵盤響應已經被控制項封裝為protected型了。控制項編寫人員把多個預定義的鍵盤繫結方案封裝起來,稱為快捷鍵。我們在keydown/keypress中沒辦法攔截到enter、shift、ctrl 、alt 鍵和其它一些鍵盤按鍵正是這個原因。為解決這些問題vs.net給出了processcmdkey 方法,我們可以通過重寫datagridview 的processcmdkey方法來改變其命令鍵值的相應事件 。

整個類**:

using system;

using system.collections.generic;

using system.text;

namespace mis.wage

");//system.windows.forms.sendkeys.send("");

// system.windows.forms.sendkeys.send("");  }}

protected override bool processcmdkey(ref system.windows.forms.message msg, system.windows.forms.keys keydata)

");//  system.windows.forms.sendkeys.send("");

return true;

}return base.processcmdkey(ref msg, keydata);} }

}編譯後,再在視窗設計區域工具箱裡直接拖出即可利用!我測試過,沒問題!

datagridview回車事件

在datagridview 中處理回車事件,網上一搜大把基本上都是處理 datagridview keydown事件,或者重寫 processcmdkey 至用使用起來如何用過的兄弟們都知道 麻煩 今天翻msdn 看見 datagridview.processdatagridviewkey 方法,測...

按回車提交表單

問題域 在製作網頁時,有時候需要在文字框中輸入內容時按下回車就自動提交表單,而有的時候又不希望一按下回車就自動提交表單,遇到這樣的問題我們如何去處理呢?解決方案 1 首先我們來實現一按回車就自動提交表單的功能 這個其實比較容易,只要表單中含有乙個 提交 的按鈕,在文字框中輸入內容後按回車就會自動提交...

讓Datagridview支援自定義回車事件

vb.net中的datagridview控制項,無法對單元格的回車事件,進行繫結,這對程式設計師來說,是個 煩。vb.net中datagridview的回車事件預設是單元格下移動的功能,無法改變。下面提供一種方法,實現對datagridview中的回車事件進行繫結。首先過載系統事件,遮蔽原來的事件,...