我在 DataGridView winforms 控件中有一个名为“Quote Price”的列。我可以将没有空格(例如“单位”)的列右对齐,但是我无法将列标题与名为“报价”的列名称右对齐。我尝试使用 TopRight、MiddleRight 和 BottomRight,但没有成功。
SelectedAdditionalCost.Columns["Quote Price"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight; // Doesn't want to right align
SelectedAdditionalCost.Columns["Quote Price"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; // column contents No worries, right aligns.
我确信我正在做一些非常愚蠢的事情,但是,我无法让它工作。
最佳答案
当我写下面的内容时,我意识到可能存在问题 - DataGridView
列的名称不能包含空格 - 您正在通过标题文本引用列集合,而不是列名称。不过,当我尝试运行示例中的代码时,我遇到了运行时错误(空引用异常)。
无论如何,除此之外:
您的代码非常适合我,我在我的一个 datagridview 测试项目(在构造函数中)中实现了以下内容,并且标题文本右对齐:
dataGridView.Columns[1].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
dataGridView.Columns[2].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
由于您提到了标题文本上的空格,因此第 2 列的文本中包含一个空格。
我提到的一件事是,当排序字形阻止标题文本完全与单元格边距对齐时,标题文本可能会出现不正确对齐的情况。
看看这是否有什么不同:
dataGridView.Columns[1].SortMode = DataGridViewColumnSortMode.NotSortable;
关于winforms - 在 Winforms 中右对齐 DataGridView 列标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1085816/