在我的项目中,我确实改变了所有行的宽度:
foreach (DataGridViewRow row in dataGridView1.Rows)
{
row.Height = 100;
}
结果:(我改变了一些背景颜色)
但我希望textbox
像这样
我看过this但我不方便,我知道如何插入textbox
或更改textbox
的宽度,以便用户看来正常textbox
答案 0 :(得分:1)
尝试使用DataGridViewCellStyle
。它可能包含或不包含您想要的内容,但我使用它来格式化我的单元格样式。像@glace一样,如果您希望使用与普通文本框完全相同的样式,则可以始终使用CellPainting
DataGridViewCellStyle
:
1.进入表单的设计
2.右键单击dgv并选择修改列
3.选择一列并查找DefaultCellStyle
属性
4.单击属性字段中的小按钮并自定义字段
**注意:您可以通过为单元格提供新的DataGridViewCellStyle
CellPainting
:
if (e.ColumnIndex != -1 && e.RowIndex != -1 && dataGridView1.Columns[e.ColumnIndex].HeaderText == "TEXTBOX")
{
e.Paint(e.CellBounds, DataGridViewPaintParts.All);
Icon ico = new Icon("your_filename.ico");
e.Graphics.DrawIcon(ico, e.CellBounds.Left + ((dataGridView1.Columns[e.ColumnIndex].Width - 16) / 2), e.CellBounds.Top + 3);
e.Handled = true;
}
只需用您的值更改绑定数字(16和3),dgv名称和HeaderText(TEXTBOX),它应该没问题
**请注意,这会在文本上绘制矩形,将其绘制在下面。 :)