2015-05-22 73 views
0

我進入問題: 我有兩個DataGridView在我的表單MAIN和SUB,現在這裏是我想要做的,如果主要DataGridView單元格在編輯的模式和用戶按向下箭頭,然後代替主DataGridView延續到下一行就應該介入到下一行SUB DataGridView更改在一個dataGridView中的行時,在其他dataGridView中按箭頭鍵

我已經EditingControlShowing創建一個事件通過處理PreviewKeyDown但如果有一個它只能行在主DataGridView或我在MAIN dataGridView的最後一行,但如果有多於一行的主DataGridView那麼如果我按向上箭頭箭頭向下它移動通過MAIN DataGridView只行。

我曾試過把DataGridView peviewKey但是方向鍵來控制它並沒有在那裏註冊,也箭頭鍵根本不DataGridViewKeyDownkeypress登記在編輯模式下

他們在DataGridView KEYUP註冊,但在這一點上做了兩件事向上或向下移動行兩個dataGridViews

我想,如果主要DataGridView細胞是在編輯模式和向上或向下箭頭鍵被按下那麼它只能改變行SUB DataGridView什麼不在主DataGridView

任何想法!

回答

0

你是否試圖以編程方式選擇子dataGridView中的行?你可以嘗試獲得所選行的索引在子格當主PreviewKeyDown事件觸發,然後選擇下一子的dataGridView行像這樣的例子:

subDataGridView.Rows(index).Selected = False 
subDataGridView.Rows(index + 1).Selected = True 

也許

subDataGridView.CurrentCell = DataGridView1.Rows(index + 1).Cells(0); 
+0

是的,我這樣做,但它只適用於單元格處於非編輯模式,但如果單元格處於編輯模式,那麼這個事件將不會註冊箭頭鍵 –

+0

你試過[EditingControlShowing](https:/ /msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.editingcontrolshowing.aspx)事件? 在這個問題的更多信息,看起來像你可以使用的東西:http://stackoverflow.com/questions/8538120/cell-in-editmode-doesnt-fire-onkeydown-event-in-c-sharp – djerinic

+0

此事是通過覆蓋dataGridView並在這裏創建一個自定義列找到解決方案來解決: http://weblogs.asp.net/rweigelt/1647400 工作就像一個魅力。 –

0

的通過覆蓋「dataGridView」並在這裏創建一個自定義列的解決方案來解決問題: enter link description here 工作就像一個魅力。

相關問題