如何将DataGridView的textbox列设置为多行?

如何让DataGridViewTextBoxColumn中的“ DataGridViewTextBoxColumn支持Multiline属性

您应该能够通过将DataGridViewTextBoxColumnDefaultCellStyleWrapMode设置为true来实现此目的。

我发现在devise者中,有两件事情需要做,使文本单元格显示多行。 正如Tim S. Van Haren提到的,你需要将DataGridViewTextBoxColumnDefaultCellStyleWrapMode设置为true 。 虽然这确实使文本换行,但不会使行展开显示超出第一行的任何内容。 除了WrapModeDataGridViewAutoSizeRowsMode必须设置为相应的DataGridViewAutoSizeRowsMode枚举值。 诸如DataGridViewAutoSizeRowsMode.AllCells的值允许单元格垂直展开并显示整个包装的文本。

除了设置DefaultCellStyle ,你可以执行以下操作:

  1. 你需要捕获GridView的EditingControlShowing事件
  2. 将EventArgs上的Control属性转换为所需的types(即文本框,checkbox或button)
  3. 使用该铸造types,更改Multiline属性,如下所示:
 private void MyGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { TextBox TB = (TextBox)e.Control; TB.Multiline = true; }