none
Cell離開的問題 RRS feed

  • 問題

  • 請教個捆擾很就久的問題~~
      DataGridView的Cell修改資料,按Enter後會跳的下一個Row!
    可是我希望的是跳到下一個Cell,這有辦法解決嗎?
    因為沒有CellKeyDown的事件,所以無法抓輸入的按鍵去處理,
    DataGridView的KeyDown又沒辦法影到響Cell,
    CellLeave跟RowEnter事件也沒有Cancel的方法或屬性
    Users又都很習慣按Enter來完成Cell的輸入!
    請問這有什麼可以解決的方式嗎?
    2009年5月21日 上午 07:18

解答

  •         int current_cell_column_index = 0;
            int current_cell_row_index = 0;
            private void dataGridView1_KeyUp(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Enter)
                {
                    dataGridView1.CurrentCell = dataGridView1[current_cell_column_index + 1, current_cell_row_index];
                    current_cell_column_index = dataGridView1.CurrentCell.ColumnIndex;
                    current_cell_row_index = dataGridView1.CurrentCell.RowIndex;
                }
            }

    自己多加些檢查,改進一下。


    我的電腦心得筆記: http://erictsai.spaces.live.com
    • 已提議為解答 DK. Da 2010年7月6日 上午 07:59
    • 已標示為解答 悪魔 2010年7月9日 下午 06:41
    2010年7月2日 下午 06:23

所有回覆

  •         int current_cell_column_index = 0;
            int current_cell_row_index = 0;
            private void dataGridView1_KeyUp(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Enter)
                {
                    dataGridView1.CurrentCell = dataGridView1[current_cell_column_index + 1, current_cell_row_index];
                    current_cell_column_index = dataGridView1.CurrentCell.ColumnIndex;
                    current_cell_row_index = dataGridView1.CurrentCell.RowIndex;
                }
            }

    自己多加些檢查,改進一下。


    我的電腦心得筆記: http://erictsai.spaces.live.com
    • 已提議為解答 DK. Da 2010年7月6日 上午 07:59
    • 已標示為解答 悪魔 2010年7月9日 下午 06:41
    2010年7月2日 下午 06:23
  • Hi,

    可參閱這篇看看

    http://arsalantamiz.blogspot.com/2008/07/making-enter-key-move-to-next.html


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2010年7月3日 上午 12:52