DataGridView - "单元格选择样式" - 编辑单元格

Bud*_*Joe 10 .net datagridview winforms

我正在使用DataGridView控件的WinForm客户端.我注意到用户必须单击一次才能选择单元格并再次进行编辑.将此更改为单击编辑模式的方法是什么?我以为我之前见过这样的东西却记不起名字了.

Met*_*ght 21

在DataGridView属性中:EditMode - > EditOnEnter


Meh*_*ANI 6

好吧,我注意到EditMode.EditOnEnter
它有一个问题,它偏向于很多DataGriView的默认行为,这很令人生气.其中,即使明确调用EndEdit方法,编辑的单元格仍处于编辑模式(您强制单击另一个控件以使datagridview单元失去焦点.)

下面这段代码工作得非常好,因为它可以通过单击任何单元格进行编辑,并通过点击Enter或在DGView外部单击来结束编辑(就像在默认行为中一样)

干得好 :

    private void myDatagridView_MouseUp(object sender, MouseEventArgs e)
    { 
        if (e.Button == MouseButtons.Left)
        {
            hitTestInfo = myDatagridView.HitTest(e.X, e.Y);
            if (hitTestInfo.Type == DataGridViewHitTestType.Cell) 
                myDatagridView.BeginEdit(true);
            else 
                myDatagridView.EndEdit();
        }
    } 
Run Code Online (Sandbox Code Playgroud)