更改DataGridViewTextBoxColumn的属性

时间:2014-02-26 11:52:55

标签: c# winforms visual-studio datagridview

在我的项目中,我确实改变了所有行的宽度:

    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
        row.Height = 100;
    }

结果:(我改变了一些背景颜色) enter image description here

但我希望textbox像这样

enter image description here

我看过this但我不方便,我知道如何插入textbox或更改textbox的宽度,以便用户看来正常textbox

1 个答案:

答案 0 :(得分:1)

尝试使用DataGridViewCellStyle。它可能包含或不包含您想要的内容,但我使用它来格式化我的单元格样式。像@glace一样,如果您希望使用与普通文本框完全相同的样式,则可以始终使用CellPainting

DataGridViewCellStyle

1.进入表单的设计

2.右键单击dgv并选择修改列

3.选择一列并查找DefaultCellStyle属性

4.单击属性字段中的小按钮并自定义字段

**注意:您可以通过为单元格提供新的DataGridViewCellStyle

来更改代码中的CellStyle

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),它应该没问题

**请注意,这会在文本上绘制矩形,将其绘制在下面。 :)