Datagridview:如何将单元格设置为编辑模式?

2023-12-07

我需要以编程方式将单元格设置为编辑模式。我知道将该单元格设置为 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(使用前将#替换为@)

Datagridview:如何将单元格设置为编辑模式? 的相关文章

随机推荐