how to control datagridview cursor movement in C#

前端 未结 1 826
孤城傲影
孤城傲影 2021-02-06 12:54

I\'d like my datagridview cursor to move right to the next column instead of moving to the next row after entering data to a cell.

I\'ve attempted to take control of th

1条回答
  •  太阳男子
    2021-02-06 13:29

    Here are an answer from Mark Rideout (DatagridView Program Manager)

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

    Scroll down 4 posts (and then more because they make better versions later on in the thread).

    For future references if link will expire (All credits to Mark Rideout):

    Create a new class named dvg that inherits from DataGridView. Compile project and then use this extended Datagridview-control instead of the normal and you'll have a datagridview that selects the next cell when pressing 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);
    }
    

    }

    0 讨论(0)
提交回复
热议问题