당신이 게시 한 코드가 올바른 궤도에있다 : 당신이 당신의 DataGridView
제어의 ColumnHeadersDefaultCellStyle
속성을 설정해야합니다.
그러나, 당신은 새로운 DataGridViewCellStyle
클래스를 생성하고 ColumnHeadersDefaultCellStyle
속성에 그을 할당해야합니다.DataGridViewCellStyle
클래스를이 속성에 할당하지 않으면 코드 샘플이 표시 될 때 Alignment
속성을 수정할 수 없습니다.
빈 프로젝트
그래서, 예를 들어, 다음 코드는 완벽하게 중심을 맞추기 열 머리글 :
Dim dgvColumnHeaderStyle As New DataGridViewCellStyle()
dgvColumnHeaderStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
myDataGridView.ColumnHeadersDefaultCellStyle = dgvColumnHeaderStyle
향후
, 당신은 쉽게 이러한 유형을 찾을 수 있습니다 디자이너의 모든 것들. 코드를 통해 직접해야하는 경우, 수행 된 작업을보기 위해 생성 된 *.Designer.vb
파일을 확인할 수 있습니다.
편집 : 난 그냥 지금은 약간의 당신이의 열 -이 실제로 각 헤더의 오른쪽에 약간 통통함을 만들어 않습니다를 참조하고 오프셋 나타났습니다. 하지만 버그는 아닙니다. 훨씬 간단한 설명이 있습니다.
ListView
처럼 DataGridView
은 열별로 정렬을 지원합니다. 따라서 각 열 머리글은 가운데 맞춤을 계산할 때 정렬 글리프 (대개 화살표)를 표시 할 수있는 충분한 공간을 예약합니다.
열 머리글을 모두으로 중앙 정렬하려면 정렬을 사용하지 않도록 설정해야합니다. 열의 SortMode
속성을 "NonSortable"로 설정하십시오. 이렇게하면 열 텍스트가 가운데 맞춤 또는 오른쪽 정렬 될 때마다 정렬 문자 모양을위한 공간이 예약되지 않습니다. 당신은 센터 또는 열 헤더 텍스트의 다른 정렬 스타일을 사용하려면
귀하의 빠른 응답 주셔서 감사합니다 사용할 수 있습니다. 내가 알아 차 렸지만 똑같은 왼쪽 편견을 얻는다는 것입니다. 각 제목은 중심에 있지 않습니다. 버그를 나타내는 것으로 보이는 몇 가지 정보를 읽으므로 각 제목에 빈 공간이 몇 개 추가되어야하지만 명확하게 열 머리글의 길이에 따라 다릅니다. 텍스트 앞에 약 2.5 %의 패딩이 추가 된 것으로 보입니다. 분명히, 그것은 해결책처럼 들리지 않습니다. 나는 이것을 몇 가지 방법으로 시도해 보았고 똑같은 것을 계속했다. 이상 하네? – Keith
동의어, 2.5 %는 컬럼의 전체 너비 중 ... 누락으로 인해 혼란이 생겨서 죄송합니다. – Keith
@ 키스 : 방금 당신이 말하는 것에 주목했습니다. 재밌 네요. 이전에는 그다지주의를 기울이지 않았습니다. 그리고 내 친구들은 모두 나를 강박 신경증이라고 부릅니다. 새로운 통찰력으로 내 대답을 업데이트했습니다. –