1

デフォルトのビジュアル スタイルとともに、リスト ビューの列ヘッダーに並べ替え矢印を描画しようとしています

これまでのところ、私はこれを持っています

Private Sub List_DrawColumnHeader(sender As Object, e As DrawListViewColumnHeaderEventArgs) Handles List.DrawColumnHeader

    e.DrawDefault = True
    If e.ColumnIndex = selectedIndex Then
        e.Graphics.DrawImage(ImageList1.Images(1), CType(e.Bounds.Left + e.Bounds.Width / 2, Single) - 5, -2)
    End If

End Sub

しかし、ビジュアルスタイルはどういうわけか矢印の上に描かれているので、これを試すことができると思いました:

Private Sub List_DrawColumnHeader(sender As Object, e As DrawListViewColumnHeaderEventArgs) Handles List.DrawColumnHeader

    e.DrawDefault = True
    If lastDrawn.ColumnIndex = selectedIndex Then
        e.Graphics.DrawImage(ImageList1.Images(1), CType(lastDrawn.Bounds.Left + lastDrawn.Bounds.Width / 2, Single) - 5, -2)
    End If

    lastDrawn=e

End Sub

次の対応する列が描画されているときに矢印を描画しますが、これでは最後の列に描画できません

スクリーンショット: ここに画像の説明を入力

ここに画像の説明を入力

ここに画像の説明を入力

4

1 に答える 1