我希望我的datagridview光标向右移动到下一列,而不是在向单元格输入数据后移动到下一行。
我试图通过dataGridView1_KeyDown事件捕获键来控制光标,但这并不会阻止光标在向单元格输入数据后移动到下一行...
预先感谢您的协助。
干杯,
答案 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);
}
}