如何在C#中控制datagridview游标移动

时间:2008-12-02 02:28:10

标签: c# datagridview

我希望我的datagridview光标向右移动到下一列,而不是在向单元格输入数据后移动到下一行。

我试图通过dataGridView1_KeyDown事件捕获键来控制光标,但这并不会阻止光标在向单元格输入数据后移动到下一行...

预先感谢您的协助。

干杯,

1 个答案:

答案 0 :(得分:6)

以下是Mark Rideout(DatagridView计划经理)的答案

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=157055&SiteID=1

向下滚动4个帖子(然后更多,因为他们以后会在帖子中制作更好的版本)。

如果链接过期( Mark Rideout的所有学分)以供将来参考:

创建一个名为dvg的新类,该类继承自DataGridView。编译项目,然后使用这个扩展的Datagridview控件而不是普通的,你将有一个datagridview,当按下enter时选择下一个单元格:

public class dgv : DataGridView
{
protected override bool ProcessDialogKey(Keys keyData)
{
    Keys key = (keyData & Keys.KeyCode);
    if (key == Keys.Enter)
    {
        return this.ProcessRightKey(keyData);
    }
    return base.ProcessDialogKey(keyData);
}
protected override bool ProcessDataGridViewKey(KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        return this.ProcessRightKey(e.KeyData);
    }
    return base.ProcessDataGridViewKey(e);
}

}