You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置DataGridView获得焦点时所有单元格进入可编辑状态

C# Winform DataGridView获得焦点自动进入编辑模式实现方案

注意DataGridView控件同一时间仅支持单个单元格处于激活编辑状态,以下方案可实现控件获得焦点后直接进入编辑状态,所有单元格无需额外点击即可编辑,完全匹配新手开发需求。

1 基础属性配置

你可以在Form的Load事件中添加如下代码,也可以直接在设计器的属性面板中对应设置:

  • ReadOnly 设为 false:确保所有单元格允许编辑
  • EditMode 设为 DataGridViewEditMode.EditOnEnter:单元格获得焦点自动进入编辑模式
  • SelectionMode 设为 DataGridViewSelectionMode.CellSelect:选中最小单位为单元格,避免整行/整列选中无法直接编辑
private void Form1_Load(object sender, EventArgs e)
{
    // 替换dataGridView1为你实际使用的控件名
    dataGridView1.ReadOnly = false;
    dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;
    dataGridView1.SelectionMode = DataGridViewSelectionMode.CellSelect;
}

2 绑定Enter事件实现获得焦点即编辑

给DataGridView控件绑定Enter事件,触发时直接让当前选中的单元格进入编辑状态:

事件绑定方法:

在设计器中选中DataGridView控件,点击属性面板右上角的闪电图标(事件列表),找到Enter项双击,系统会自动生成事件方法,将以下代码写入生成的方法中:

private void dataGridView1_Enter(object sender, EventArgs e)
{
    // 排除无数据的情况
    if (dataGridView1.CurrentCell == null) return;
    
    // 触发当前单元格进入编辑模式,参数true表示选中单元格内所有内容
    dataGridView1.BeginEdit(true);
}

提示:如果使用下拉框、复选框等非文本列,只要保证对应列的ReadOnly属性为false,上述逻辑无需修改即可生效。

内容的提问来源于stack exchange,提问作者Shaifali Goel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 11:45:04