我有一个datagridview 5列,当我按下“输入”它进入下一个单元格,当它到达行的末尾时,我按下输入它添加一个新的行,但我的问题是,当我按下输入后,我移动到前面的行跳转行,并没有去下一个单元格,有什么帮助?DataGridView - 当我按下输入它去下一个单元格
public partial class Form1 : Form
{
public static int Col;
public static int Row;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.AllowUserToAddRows = false;
dataGridView1.Rows.Add();
}
private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
Col = dataGridView1.CurrentCellAddress.X;
Row = dataGridView1.CurrentCellAddress.Y;
}
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (int)Keys.Enter)
{
if (Col + 1 < 5)
{
dataGridView1.CurrentCell = dataGridView1[Col + 1, Row];
}
else
{
dataGridView1.Rows.Add();
dataGridView1.CurrentCell = dataGridView1[Col - 4, Row + 1];
}
}
}
}
雷纳尔多非常感谢你的回答,还有另外一个quastion我wanaa问你,编辑细胞,我必须按两次输入,第一次将我的数据插入单元格,第二次移动到另一个单元格,有没有办法按下一个输入它做两个工作?我的意思是,当我按下后,一个输入到下一个单元格???我问你可以解释什么是e.handled = true?谢谢 – user1264708 2012-03-13 09:00:27
你可以处理dataGridView1_CellEnter事件并添加dataGridView1.BeginEdit(false); – Reinaldo 2012-03-13 15:31:10
我的朋友还有另一个问题,让我想我有3行和3列,我进入一个数据到row1和column1后,我进入下一行,输入数据,当我回到row1编辑数据我按回车它跳到下一行:(它让我疯狂。我不想跳到下一行我想去下一列 – user1264708 2012-03-13 18:09:56