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

如何让DataGridView处于编辑状态时显示多行文本?

解决DataGridView编辑状态下显示多行文本的问题

你当前的设置仅能在编辑完成后生效,原因是DataGridView默认的文本编辑控件是单行TextBox,不支持多行显示。要让编辑状态下也能显示多行,需要修改编辑控件的属性,具体步骤如下:

  1. 绑定EditingControlShowing事件,在编辑控件加载时调整其多行属性
    在窗体初始化(比如Form_Load方法)中添加事件绑定:

    dataGridView1.EditingControlShowing += DataGridView1_EditingControlShowing;
    
  2. 实现事件处理方法,将目标列的编辑控件改为多行模式

    private void DataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
        // 仅针对索引为1的列处理
        if (dataGridView1.CurrentCell.ColumnIndex == 1)
        {
            if (e.Control is TextBox editTextBox)
            {
                editTextBox.Multiline = true;
                editTextBox.WordWrap = true;
                // 让编辑控件高度匹配当前单元格高度
                editTextBox.Height = dataGridView1.CurrentCell.Size.Height;
            }
        }
    }
    
  3. 保留你原本的单元格样式设置,确保编辑完成后正常显示:

    dataGridView1.Columns[1].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
    dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
    

这样设置后,当你进入索引1列的单元格编辑状态时,会自动使用多行TextBox,支持文本换行显示,编辑完成后也能保持多行展示效果。

内容的提问来源于stack exchange,提问作者Barak Stav

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 19:12:05