【问题标题】:Keeping DataGridView column headers Height at a logical Height将 DataGridView 列标题高度保持在逻辑高度
【发布时间】:2021-09-19 14:30:43
【问题描述】:

DataGridView 列标题可以用下面的代码设置,这个设置的多行标题标签恰到好处。

column shapes

ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize

但单行列标题的形状相当难看,即窄行。尝试以下代码一起增加高度甚至不起作用:

Columns[0].HeaderCell.Style.Padding = new Padding(0, 5, 0, 5)

有没有办法既使用AutoSize又在单行标签的情况下获得很好的列标题高度?

【问题讨论】:

  • IMO,不清楚你在问什么(什么是逻辑高度?)。可能,添加图像来解释您拥有什么以及您想要实现什么。还发布您尝试发布的任何代码。
  • 谢谢,加了图片,代码在上面,仅此而已,尊重这个主题...
  • 列标题可以自动换行不适合宽度的文本。您只需要将 Column 的 Wrap 属性设置为 true。自动将列调整为除 Header 之外的所有单元格,因此,如果 Header 的文本太长,它将自动换行。
  • 让我问这样的问题:How To Change Height of A Column Header If AutoSize Option Forces It To Be A Definite Height Which You Do Not Like,这里 Padding 根本没有帮助...
  • 您可以将列标题的高度设置为您想要的任何值。使用ColumnHeadersHeight 属性。

标签: c# winforms datagridview


【解决方案1】:

如果您将ColumnHeadersHeightSizeMode 设置为AutoSize,则不允许在运行时按照Header Labels Length 更改Column Heigt

您必须在初始化时添加此代码:

this.dataGridView1.ColumnHeadersDefaultCellStyle.Padding = new System.Windows.Forms.Padding(0, 5, 0, 5);

将“5”更改为您希望看到的填充量...

【讨论】:

  • 非常感谢理解和解决我的问题...
【解决方案2】:

试试这个

dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill

【讨论】:

  • 请看我上面的评论,谢谢...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-07
  • 1970-01-01
  • 1970-01-01
  • 2018-11-18
  • 2016-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多