我正在尝试更改DataGridView的文本对齐方式和字体大小。所有列都是在运行时以编程方式创建的。这是代码..
private void LoadData()
{
dgvBreakDowns.ColumnCount = 5;
dgvBreakDowns.Columns[0].Name = "Breakdown No";
dgvBreakDowns.Columns[1].Name = "Breakdown Type";
dgvBreakDowns.Columns[2].Name = "Machine Type";
dgvBreakDowns.Columns[3].Name = "Date";
dgvBreakDowns.Columns[4].Name = "Completed";
dgvBreakDowns.Columns[4].Visible = false;
foreach (DataGridViewHeaderCell header in dgvBreakDowns.Rows)
{
header.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
header.Style.Font = new Font("Arial", 12F, FontStyle.Bold, GraphicsUnit.Pixel);
}
}
此LoadData()
方法在窗体的构造函数中调用。列已创建,但其标头的更改不适用。我想这是因为我的循环foreach (DataGridViewHeaderCell header in dgvBreakDowns.Rows)?
中的一个缺陷,我不确定。我尝试将其更改为dgvBreakDowns.Columns
,但得到了一个InvalidCastException。如何选择标题单元格以应用这些更改?
我还有一个小问题。当我运行这个程序时,它看起来是这样的。
请注意,默认情况下第一个单元格是选中的,因此它显示为蓝色。当然,它不会影响任何东西,但它只是看起来有点丑陋和凌乱。有可能阻止它像那样选择单元格吗?
发布于 2012-10-19 13:41:50
试试这个(注意我在这里使用的是列,而不是行):
foreach(DataGridViewColumn col in dgvBreakDowns.Columns)
{
col.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
col.HeaderCell.Style.Font = new Font("Arial", 12F, FontStyle.Bold, GraphicsUnit.Pixel);
}
至于取消选择单元格,请尝试使用dgvBreakDowns.ClearSelection()
发布于 2016-04-27 18:00:09
或者试试这个:
dgvBreakDowns.Columns[4].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
发布于 2021-05-28 13:58:18
您可以使用MiddleCenter
作为其值的ColumnHeadersDefaultCellStyle.Alignment
。检查下面的代码:
dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
https://stackoverflow.com/questions/12967957
复制相似问题