以下方法是 用自定义类。
https://blog.csdn.net/iteye_19899/article/details/81598473?spm=1001.2014.3001.5502
我的方法是:采用定时器,输入完后,启动定时器,等待几毫秒后,再来修改焦点。
using System.Windows.Forms;
int iCol,iRow;
int ColumnCount,RowCount;
//实例化一个timer
System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
private void DataGridView1_EndEdit(object sender, DataGridViewCellEventArgs e)
{
iCol ++;
if (iCol >= ColumnCount)
{
iRow++;
if (iRow >= RowCount)
{
iRow = RowCount - 1;
}
else
{
iCol = 0;
}
}
//给timer挂起事件
myTimer.Tick += new EventHandler(Callback);
//使timer可用
myTimer.Enabled = true;
//设置时间间隔,以毫秒为单位
myTimer.Interval = 10;//1s
}
private void Callback(object sender, EventArgs e)
{
myTimer.Stop();
dataGridView1.Refresh();
dataGridView1.ClearSelection();
dataGridView1.Rows[iRow].Cells[iCol].Selected = true;
}
该博客介绍了一种在Windows Forms中实现DataGridView自动聚焦的方法。通过创建一个Timer,当用户输入完成后,启动定时器,在设定的时间间隔后改变焦点到下一个单元格。这种方法使得在数据网格中导航变得更加流畅。

734

被折叠的 条评论
为什么被折叠?



