使用C#
Windows Forms
;
我有一个DataGridView
,其中包含多个单元格。我想在单元格中显示数字(从1-9开始)。数字应以3x3
格式放在彼此之下。
我环顾四周,最后只得到了richtextbox
单元格的相当复杂的自定义实现。
有没有办法可以绘制custom rectangle
,然后将其作为单元格的backgroundimage
实现?细胞需要重新绘制几次。所以我不能只调用paint
事件。
注意:用户不得编辑该单元格。
答案 0 :(得分:18)
我不知道这是否会让您满意,但您可以使用Environment.NewLine
在单元格内创建简单的换行符。
示例:
string nl = Environment.NewLine; // new line variable
string data = "1 2 3" + nl + "4 5 6" + nl + "7 8 9";
稍后添加:
正如Adrian在评论中所说 - 你需要:
将DataGridViewColumn
的WrapMode设置为DataGridViewTriState.True
确保为行设置高度,或将DataGridView的AutoSizeRowsMode
设置为DataGridViewAutoSizeRowsMode.AllCells
如果您不想修改该列,可以将DataGridView.Column.ReadOnly
属性设置为true
。
答案 1 :(得分:1)
作为补充:
dataGridView.Columns[x].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
dataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
x =列索引
答案 2 :(得分:1)
右键单击GridView>>属性>>DefaultCellStyle>>Wrapmode=True