【发布时间】:2009-09-04 13:51:03
【问题描述】:
我正在使用带有 DataGridView 控件的 WinForm 客户端。我注意到用户必须单击一次以选择单元格并再次对其进行编辑。将其更改为单击编辑模式的方法是什么?我以为我以前见过类似的东西,但记不起名字了。
【问题讨论】:
标签: .net winforms datagridview
我正在使用带有 DataGridView 控件的 WinForm 客户端。我注意到用户必须单击一次以选择单元格并再次对其进行编辑。将其更改为单击编辑模式的方法是什么?我以为我以前见过类似的东西,但记不起名字了。
【问题讨论】:
标签: .net winforms datagridview
在 DataGridView 属性中:EditMode -> EditOnEnter
【讨论】:
我注意到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();
}
}
【讨论】: