DataGridView单元格中的多行

使用C# Windows Forms ;

我有一个带有许多单元格的DataGridView 。 我想在单元格中显示数字(从1-9开始)。 数字应以3x3格式放在彼此之下。

我环顾四周,最后只得到了一个相当复杂的richtextbox单元的自定义实现。

有没有办法我可以绘制一个custom rectangle ,然后将其实现为单元格的backgroundimage或什么? 细胞需要重新绘制几次。 所以我不能只调用我想的paint事件。

注意:用户不得编辑单元格。

我不知道这是否会让你满意,但你可以使用Environment.NewLine在单元格内创建简单的换行符。

例:

 string nl = Environment.NewLine; // new line variable string data = "1 2 3" + nl + "4 5 6" + nl + "7 8 9"; 

后来添加:

正如阿德里安在评论中所说 – 你将需要:

  1. DataGridViewColumn的WrapMode设置为DataGridViewTriState.True

  2. 确保为行设置高度,或将DataGridView的AutoSizeRowsMode设置为DataGridViewAutoSizeRowsMode.AllCells

如果您不想编辑该列 – 可以将DataGridView.Column.ReadOnly属性设置为true