如何让DataGridView处于编辑状态时显示多行文本?
解决DataGridView编辑状态下显示多行文本的问题
你当前的设置仅能在编辑完成后生效,原因是DataGridView默认的文本编辑控件是单行TextBox,不支持多行显示。要让编辑状态下也能显示多行,需要修改编辑控件的属性,具体步骤如下:
绑定
EditingControlShowing事件,在编辑控件加载时调整其多行属性
在窗体初始化(比如Form_Load方法)中添加事件绑定:dataGridView1.EditingControlShowing += DataGridView1_EditingControlShowing;实现事件处理方法,将目标列的编辑控件改为多行模式
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; } } }保留你原本的单元格样式设置,确保编辑完成后正常显示:
dataGridView1.Columns[1].DefaultCellStyle.WrapMode = DataGridViewTriState.True; dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
这样设置后,当你进入索引1列的单元格编辑状态时,会自动使用多行TextBox,支持文本换行显示,编辑完成后也能保持多行展示效果。
内容的提问来源于stack exchange,提问作者Barak Stav
相关产品推荐
相关产品推荐

