13

我想知道是否可以删除DataGridViewC# 中控件的未使用空间(灰色空间)。我必须DataGridView只显示白色桌子。

有什么建议么?

注意:该帖子最初包含不再有效的外部图像

4

8 回答 8

8

有时(尤其是使用 winforms)最好的方法是破解:

dataGridView1.BackgroundColor = System.Drawing.SystemColors.Control;

我从这篇文章中偷了它: 在 c# 中删除 datagrid 中的空白灰色空间

于 2012-08-06T17:27:43.423 回答
6

我发现没有简单的方法来删除“未使用”或灰色(背景颜色)空间。但是,对我来说一个有效的解决方案是隐藏 DataGridView 的边框并将其背景颜色更改为周围控件的背景。本质上,感觉是没有更多未使用的空间。

这是伪代码中的一个片段:

TableGridView = DataGridView()
TableGridView.Width = 0
TableGridView.Height = 0
TableGridView.AutoSize = true 
TableGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
TableGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
TableGridView.BackgroundColor = SystemColors.ControlLightLight
TableGridView.BorderStyle = BorderStyle.None

我在某处读到 AutoSize 设置不适用,但是,它确实改变了我。此示例建议周围控件具有 SystemColors.ControlLightLight 的背景颜色,但可以根据需要进行修改。

如果对您有帮助,请投票。

于 2011-05-16T23:20:08.953 回答
5

将该RowsHeaderVisible属性设置为 false,您可以从设计器、类别Appearence或代码中执行此操作:

dataGridView1.RowsHeaderVisible = false;

为了去除左侧的指标行,至于其余的灰色空间,您可以尝试将上述设置AutoSizeColumnsMode为填充,但您仍然会因为缺少行而使下部变灰。

您可以调整网格的大小以适合您的单元格,而不是调整单元格的大小以填充网格。这是否是一种可接受的方法将取决于您的意图。

我的意思是,如果它只是困扰您的颜色,则将背景色设置为白色可能会奏效。

于 2010-01-29T15:36:03.043 回答
3

我相信你想要:

myDataGrid.AutoSizeColumnsMode = Fill

编辑:这只是调整列的大小。除了调整网格的高度之外,我不确定如何摆脱行灰色空间。

于 2010-01-29T15:07:42.187 回答
1
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
于 2010-08-25T06:11:49.283 回答
0

Well, I toiled to find an answer for this before but in the end if you want to mimic an empty DataGridView then the long answer is to create "White" Rectangle objects and use Graphics to fill the whole grid on an overriden OnPaint method.

于 2012-10-19T09:38:01.430 回答
0

去找设计师:

1)更改datagridview背景颜色与表单颜色相同

2)将datagridview“BorderStyle”设置为无

于 2018-11-01T04:24:58.627 回答
-2

我使用此代码,如果您不添加按钮列或图像,它适用于我我从网站获取但我不记得从哪里获取:

For Each row As DataGridViewRow In DataGridView1.Rows
If datagrid_limits > newHeight Then
newHeight =newHeight + 40
Else
Exit For
End If
Next
DataGridView1.Height = newHeight
于 2020-08-03T21:18:20.817 回答