VB(.net) Windows10 WinForms・DataGridViewのColumnHeaderのソートを示す三角が見えなくなる
下記のようなコードを実行した際、右側のカラムにて、ColumnHeaderのソート順を示す三角形が表示されなくなる。
コード
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing DataGridView1.ColumnHeadersHeight = 20 DataGridView1.Columns.Add("col1", "1") DataGridView1.Columns.Add("col2", "2222222222") DataGridView1.Rows.Add({1, 3}) DataGridView1.Rows.Add({2, 4}) DataGridView1.Columns().Item(1).Width = 110 End Sub End Class
実行結果
2枚目のスクリーンショットでは、右側のカラムでソートを実施しているが、ヘッダーに三角形が表示されない。 本問題は、文字がカラムいっぱいに広がることで、ソートを示す三角形が消えてしまうことで発生する。 カラムを広げる調整を行うことで、問題を回避できる。
コード
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing DataGridView1.ColumnHeadersHeight = 20 DataGridView1.Columns.Add("col1", "1") DataGridView1.Columns.Add("col2", "2222222222") DataGridView1.Rows.Add({1, 3}) DataGridView1.Rows.Add({2, 4}) '以下を追加 DataGridView1.Columns().Item(1).Width = 110 End Sub End Class
実行結果