C# 在Datagridview中,按enter键选择转到下一行,但我想转到下一列?
在C# 在Datagridview中,按enter键选择转到下一行,但我想转到下一列?,c#,winforms,datagridview,C#,Winforms,Datagridview,在DataGridView中,按enter键选择转到下一行,但我想转到下一列?你怎么能修好它 private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) { if (e.KeyCode == Keys.Enter) { } } 类DataGridView中有一个名为的属性,因此您应该使用它: private void dataGridView1_Previe
DataGridView
中,按enter键选择转到下一行,但我想转到下一列?你怎么能修好它
private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
}
}
类DataGridView
中有一个名为的属性,因此您应该使用它:
private void dataGridView1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
int newRow;
int newColumn;
if (dataGridView1.CurrentCell.ColumnIndex == dataGridView1.ColumnCount-1) // it's a last column, move to next row;
{
newRow = dataGridView1.CurrentCell.RowIndex + 1;
newColumn = 0;
if (newRow == dataGridView1.RowCount)
return; // ADD new row or RETURN (depends of your purposes..)
}
else // just change current column. row is same
{
newRow = dataGridView1.CurrentCell.RowIndex;
newColumn = dataGridView1.CurrentCell.ColumnIndex + 1;
}
dataGridView1.CurrentCell = dataGridView1.Rows[newRow].Cells[newColumn];
}
}
textBox1
?你确定这是一个正确的事件吗?