DataGridView单元格中的多行

本文关键字:单元格 DataGridView | 更新日期: 2023-09-27 18:13:26

使用C# Windows Forms;

我有一个DataGridView与一些细胞。我想在单元格中显示数字(从1-9)。数字应按3x3格式依次排列。

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

是否有一种方法,我可以画一个custom rectangle,然后实现这作为backgroundimage的细胞或什么?单元格需要重新绘制几次。所以我想我不能直接调用paint事件。

注意:用户不能编辑单元格

DataGridView单元格中的多行

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

的例子:

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

补充道:

正如Adrian在评论中所说,你需要:

  1. 设置DataGridViewColumn的WrapMode为DataGridViewTriState.True

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

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

更新:我花了一段时间才找到这个属性与上述信息。在VS c# 2017中,WrapMode属性位于datagridview DefaultCellStyle对话框中。

作为补充:

dataGridView.Columns[x].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
dataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

x = Column-Index

右键单击GridView>>,, properties&gt的在DefaultCellStyle&gt的在Wrapmode = True