Board logo

主題: [其他] [求助]VB.NET的DataGridView [打印本頁]

發表人: htkstw    時間: 2013-7-31 06:54 PM     主題: [求助]VB.NET的DataGridView

請問,在DataGridView中,編輯儲存格後,按Enter鍵如何讓它不要跳到下一列,而是跳到下一個儲存格?

謝謝
發表人: evildog    時間: 2013-8-1 03:25 PM

新增datagridview的KeyDown事件,判斷如果按下Enter就設定CurrentCell為下一個儲存格。
因為我對VB.NET不熟只懂C#,下面提供老外的C#解答:

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
       if (e.KeyCode == Keys.Enter)      // 如果按下Enter
       {               
              e.SuppressKeyPress=true;    // 停止DataGridView對Enter預設的反應
              int iColumn = dataGridView1.CurrentCell.ColumnIndex;    // 目前儲存格的行號
              int iRow = dataGridView1.CurrentCell.RowIndex;       // 目前儲存格的列號
              
              // 判斷有沒有下一個儲存格,如果沒有就跳到下一列的第一行,否則就跳到下一個儲存格
              if (iColumn == dataGridView1.Columns.Count-1)
                    dataGridView1.CurrentCell = dataGridView1[0, iRow + 1];
              else
                    dataGridView1.CurrentCell = dataGridView1[iColumn + 1, iRow];
        }
}

[evildog 在  2013-8-1 03:28 PM 作了最後編輯]




歡迎光臨 TWed2k (http://twed2k.org/) Powered by Discuz! 4.1.0