【发布时间】:2012-04-09 18:01:53
【问题描述】:
朋友们,我有一个 Windows 应用程序,我在其中使用 datagridview 来显示现有数据以及添加/编辑数据。 datagridview 有一个功能,在 Tab/Enter 键上按下焦点将移动到下一个单元格。如果它是一行中的最后一列,那么焦点将转到下一行的第一列。现在在为单元格输入数据并按 Tab/Enter 键后,如果出现错误输入数据的错误消息(如数值格式不正确或值小于零等),在显示错误消息后一个消息框,焦点正在移动到下一个单元格。有没有什么办法可以让特定单元格出现错误消息,然后焦点将设置到该错误生成单元格,它不会移动到下一个单元格?在 dgView_CellEndEdit 事件中,我尝试使用代码选择单元格:
dgView.Rows[e.RowIndex].Cells["ColumnName"].Value = "0.00";
dgView.Select();
dgView.CurrentCell.Selected = true;
但它不起作用。在我使用过的 dgView_SelectionChanged 事件中:
dgView.CurrentCell = dgView[RequiredColumnIndex, RequiredRowIndex];
dgView.BeginEdit(true);
这也无济于事。请帮我解决问题。
【问题讨论】:
标签: c# winforms datagridview setfocus