DataGridView のヘッダ列が他の行と文字の位置が違うので、DataGridViewTextBoxCell を参考にカスタマイズしました。
Public Class FitHeaderCell
	Inherits DataGridViewColumnHeaderCell
	Private Const DATAGRIDVIEWTEXTBOXCELL_ignoreNextMouseClick As Byte = 1
	Private Const DATAGRIDVIEWTEXTBOXCELL_horizontalTextOffsetLeft As Byte = 3
	Private Const DATAGRIDVIEWTEXTBOXCELL_horizontalTextOffsetRight As Byte = 4
	Private Const DATAGRIDVIEWTEXTBOXCELL_horizontalTextMarginLeft As Byte = 0