Yayınladığınız kod doğru yolda: Eğer DataGridView
denetimin ColumnHeadersDefaultCellStyle
özelliğini ayarlamanız gerekir.
Ancak, yeni DataGridViewCellStyle
sınıf oluşturmak ve ColumnHeadersDefaultCellStyle
özelliğine o atamanız gerekir. Bu özelliğe bir DataGridViewCellStyle
sınıfı atamış olmadığınız sürece, örnek kodunuzun gösterdiği gibi Alignment
özelliğini değiştiremezsiniz.
boş projede
Yani, örneğin, aşağıdaki kod mükemmel merkezli faydayı sağladığı sütun başlıkları :
Dim dgvColumnHeaderStyle As New DataGridViewCellStyle()
dgvColumnHeaderStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
myDataGridView.ColumnHeadersDefaultCellStyle = dgvColumnHeaderStyle
Gelecekte
, daha kolay bu tür yapmak bulabilirsiniz Tasarımcıdan şeylerin. Hala kod aracılığıyla kendiniz yapmanız gerekiyorsa, nasıl yapıldığını görmek için oluşturulan *.Designer.vb
dosyasını kontrol edebilirsiniz.
DÜZENLEME: Şimdi sadece hafif sen sütunların-gerçekten her başlığının sağındaki küçük bir ekstra doldurma oluşturmak gelmez bahsettiğiniz ofset ettim. Yine de bir böcek değil. Daha basit bir açıklama var.
ListView
gibi, DataGridView
sütunlara göre sıralamayı destekler. Bu nedenle, her sütun başlığı, merkezi doğrulamayı hesaplarken sıralama glifini (genellikle bir ok) görüntülemek için yeterli alan ayırır.
Sütun üstbilgilerinin mükemmel şekilde ortalamasını istiyorsanız, sıralamayı devre dışı bırakmanız gerekir. Sütunun SortMode
özelliğini "NonSortable" olarak ayarlayın. Bu, sütun metni merkezde veya sağda haklı olduğunda boşlukların glif için ayrılmasını engeller. Eğer ortalamak veya Sütun Başlığı metin başka hizalama stilini kullanmak istiyorsanız
hızlı yanıt için teşekkür ederiz kullanabilirsiniz. Yine de fark ettiğim şey, aynı sol önyargıyı almanızdır - her başlık tam ortalanmıyor. Bir hatayı belirtmek için görünen bazı bilgileri okuyorum, her başlık biraz boş alanlarla doldurulmasını gerektirir, ancak açıkça sütun başlığının uzunluğuna göre değişir. Metinden önce eklenecek yaklaşık% 2.5'lik bir dolgu gibi görünüyor. Açıkçası, bu bir çözüm gibi gelmiyor. Bunu birkaç yolla denedim ve aynı şeyi almaya devam ettim. Garip, ha? – Keith
BTW, 2.% 5 sütunun toplam genişliğindedir ... ihmalden kaynaklanan karışıklık için üzgünüm. – Keith
@Keith: Şimdi ne hakkında konuştuğunuzu fark ettim. Bu komik, daha önce hiç dikkat etmedim. Ve tüm arkadaşlarım bana OCD diyor - onlara gösterecek! Cevabımı yeni bir anlayışla güncelledim. –