如何将DataGridView的textbox列设置为多行?
如何让DataGridViewTextBoxColumn
中的“ DataGridViewTextBoxColumn
” 支持Multiline属性 ?
您应该能够通过将DataGridViewTextBoxColumn
的DefaultCellStyle
的WrapMode
设置为true
来实现此目的。
我发现在devise者中,有两件事情需要做,使文本单元格显示多行。 正如Tim S. Van Haren提到的,你需要将DataGridViewTextBoxColumn
的DefaultCellStyle
的WrapMode
设置为true
。 虽然这确实使文本换行,但不会使行展开显示超出第一行的任何内容。 除了WrapMode
, DataGridView
的AutoSizeRowsMode
必须设置为相应的DataGridViewAutoSizeRowsMode
枚举值。 诸如DataGridViewAutoSizeRowsMode.AllCells
的值允许单元格垂直展开并显示整个包装的文本。
除了设置DefaultCellStyle
,你可以执行以下操作:
- 你需要捕获GridView的
EditingControlShowing
事件 - 将EventArgs上的
Control
属性转换为所需的types(即文本框,checkbox或button) - 使用该铸造types,更改
Multiline
属性,如下所示:
private void MyGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { TextBox TB = (TextBox)e.Control; TB.Multiline = true; }