Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改DataGridViewTextBoxColumn的属性_C#_Winforms_Visual Studio_Datagridview - Fatal编程技术网

C# 更改DataGridViewTextBoxColumn的属性

C# 更改DataGridViewTextBoxColumn的属性,c#,winforms,visual-studio,datagridview,C#,Winforms,Visual Studio,Datagridview,在我的项目中,我确实更改了所有行的宽度,如下所示: foreach (DataGridViewRow row in dataGridView1.Rows) { row.Height = 100; } 结果:(我改变了一些背景颜色) 但是我希望文本框像这样 我已经看到了,但是我不方便使用它,我知道如何插入文本框,或者更改文本框的宽度,以便在用户看来它是正常的文本框尝试使用DataGridViewCellStyle。它可能包含您想要的内容,也可能不包含您

在我的项目中,我确实更改了所有行的宽度,如下所示:

    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
        row.Height = 100;
    }
结果:(我改变了一些背景颜色)

但是我希望
文本框像这样


我已经看到了,但是我不方便使用它,我知道如何插入
文本框
,或者更改
文本框
的宽度,以便在用户看来它是正常的
文本框

尝试使用
DataGridViewCellStyle
。它可能包含您想要的内容,也可能不包含您想要的内容,但我使用它来设置我的单元格样式。否则,就像@glace所说的,如果您想要与普通文本框完全相同的样式,您可以始终使用
cellpaining

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(文本框),就可以了


**注意:在文本上方绘制矩形,在下面绘制矩形。:)

你必须使用WinForms吗?使用WPF非常简单。我知道这会更简单,但我对WPFIf一无所知。如果您正在学习,我真的鼓励您忘记WinForms,直接使用WPF。为什么阅读这篇文章/教程()——正是这篇文章让我将注意力从WinForms转移到WPF——我很高兴我这么做了!您的列在功能上是一个文本框。如果“显示为普通文本框”是指图片中应用的样式,我建议您自己使用CellPaint事件来绘制单元格,而不是派生自己的类型,或者尝试将其他控件嵌入单元格中。也许可以将单元格的默认样式设置为灰色背景,然后在单元格中心绘制矩形。只要您的字体大小不大于长方体,它就会显示为光标集中在该矩形上。