コードは機能します。ヘッダー テキストの右側に表示されるスペースは「通常」です。
はDataGridView
列によるソートをサポートしています。したがって、各列ヘッダーには、並べ替えグリフ (通常は矢印) を表示するのに十分なスペースが予約されています。
列ヘッダーのテキストを完全に右揃えにしたい場合は、並べ替えを無効にする必要があります。SortMode
列のプロパティをNotSortableに設定します。これにより、並べ替えグリフ用にスペースが確保されなくなります。
オブジェクト レッスン:
public class FrmTest : Form
{
public FrmTest()
{
InitializeComponent();
this.DataGridView1.Columns[0].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
this.DataGridView1.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
this.DataGridView1.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable;
}
private void CheckBox1_CheckedChanged(System.Object sender, System.EventArgs e)
{
if (this.CheckBox1.Checked) {
this.DataGridView1.Columns[0].SortMode = DataGridViewColumnSortMode.Automatic;
} else {
this.DataGridView1.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable;
}
this.DataGridView1.Refresh();
}
}
1/ フォームをロードした後:
2/ チェックボックスをクリックして並べ替えを許可します。
3/ 列をクリックした後: