Kod pan pisał jest na właściwej drodze: trzeba ustawić właściwość kontrolą DataGridView
ColumnHeadersDefaultCellStyle
.
Jednak trzeba utworzyć nową klasę DataGridViewCellStyle
i przypisać że do nieruchomości ColumnHeadersDefaultCellStyle
. Nie można zmodyfikować właściwości Alignment
jako przykładu kodu, chyba że przypisano klasę DataGridViewCellStyle
do tej właściwości.
Tak więc, na przykład, następujący kod osiąga doskonale skupione Nagłówki kolumn w pustym projekcie:
Dim dgvColumnHeaderStyle As New DataGridViewCellStyle()
dgvColumnHeaderStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
myDataGridView.ColumnHeadersDefaultCellStyle = dgvColumnHeaderStyle
W przyszłości może się okazać, że łatwiej zrobić te typy rzeczy od projektanta. Jeśli nadal musisz to zrobić samodzielnie, za pomocą kodu, możesz sprawdzić utworzony plik *.Designer.vb
, aby zobaczyć, jak to się stało.
EDIT: Właśnie teraz zauważyłem nieznaczne przesunięcie masz na myśli w kolumnach, to rzeczywiście stworzyć Lekko zaokrąglona do prawa każdego nagłówka. To nie jest błąd. Jest o wiele prostsze wytłumaczenie.
Podobnie jak ListView
, DataGridView
obsługuje sortowanie według kolumn. Dlatego każdy nagłówek kolumny rezerwuje wystarczającą ilość miejsca, aby wyświetlić glif sortowania (zwykle strzałkę) podczas obliczania centralnego uzasadnienia.
Jeśli chcesz, aby nagłówki kolumn miały być , idealnie wyśrodkowane, musisz wyłączyć sortowanie. Ustawia właściwość SortMode
dla kolumny na "Niezbędne". Powinno to zapobiec zarezerwowaniu miejsca dla symbolu sortowania, gdy tekst kolumny jest wyrównany do środka lub do prawej.
Dziękuję za szybką odpowiedź. Zauważam jednak, że masz takie samo odchylenie w lewo - każda z nagłówków nie jest w centrum. Czytam niektóre informacje, które wydają się wskazywać na błąd, który wymaga, aby każdy nagłówek był wypełniony kilkoma pustymi miejscami, ale wyraźnie zmienia się w zależności od długości nagłówka kolumny. Wygląda na to, że przed tekstem pojawi się dopełnienie o około 2,5%. Oczywiście, nie brzmi to jak rozwiązanie. Próbowałem tego na kilka sposobów i ciągle robię to samo. Dziwne, co? – Keith
BTW, the 2.5% to całkowita szerokość kolumny ... przepraszam za wszelkie pomyłki wynikające z pominięcia. – Keith
@Keith: Właśnie zauważyłem, o czym mówisz. To zabawne, nigdy wcześniej nie zwracałem na to uwagi. I wszyscy moi przyjaciele nazywają mnie OCD - pokażą im! Zaktualizowałem swoją odpowiedź, wprowadzając nowy wgląd. –