我需要以编程方式将单元格设置为编辑模式。我知道将该单元格设置为 CurrentCell 然后调用方法 BeginEdit(bool) 应该会发生,但就我而言,它不会发生。
我真的希望,当我的 DGV 有几列时,用户只能选择并编辑前两列。其他列已经是只读的,但用户可以选择它们,这就是我不想要的。
所以我在想,告诉用户每次在单元格上完成写入时按 TAB 键,然后选择第二个单元格,然后再次按 Tab 键,它选择并开始编辑下一行的第一个单元格......
我怎样才能做到这一点?
设置CurrentCell
然后打电话BeginEdit(true)
对我来说效果很好。
以下代码显示了一个事件处理程序KeyDown
将单元格设置为可编辑的事件。
我的示例仅实现了所需的按键覆盖之一,但理论上其他按键应该具有相同的工作原理。 (我总是将 [0][0] 单元格设置为可编辑,但任何其他单元格都应该可以工作)
private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Tab && dataGridView1.CurrentCell.ColumnIndex == 1)
{
e.Handled = true;
DataGridViewCell cell = dataGridView1.Rows[0].Cells[0];
dataGridView1.CurrentCell = cell;
dataGridView1.BeginEdit(true);
}
}
如果您之前没有找到过,DataGridView 常见问题解答是一个很棒的资源,由 DataGridView 控件的程序经理编写,其中涵盖了您想要使用该控件执行的大部分操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)