2014-03-29 52 views
0

我試圖在datagridview中獲取某個tab & enter關鍵行爲。一旦焦點位於datagridview中的某個單元格上,我想要以下內容:使用Tab鍵循環單個記錄

TAB - 循環通過行中的單元格,而不會轉到行中最後一個單元格之後的下一行。即繼續在單行中通過細胞循環。

ENTER - 移動到下一行。

我一直在尋找解決方案,但他們通常不是我所追求的行爲,他們大多需要創建派生的DataGridView類,如果可能,我寧願避免這種類。

我也想避免觸發RowLeave事件,因爲我使用的驗證&然後接受/拒絕該行所做的任何細胞變化 - 因此有意識ENTER按鍵,從該行移開,並觸發其驗證&持久性。

回答

0

我現在已經實現了這個解決方案,並認爲我應該在這裏更新我所採用的特定方法的細節。

我把DataGridViewOnKeyDown事件東西沿着線:

if (e.KeyCode == Keys.Tab) 
    { 
     if (dataGrid.CurrentCell.ColumnIndex == dataGrid.Columns.Count - 1) 
      { 
       dataGrid.CurrentCell = dataGrid[1,dataGrid.CurrentCell.RowIndex]; 
      } 
    } 

似乎這樣的伎倆。