列表视图 header 文本的垂直文本对齐方式
Vertical text alignment for listview header text
如何设置列表视图 header 列的垂直对齐方式 object 以适合单元格边框内的文本(无法自动设置 header 表单的高度)
部分文字未显示,如下所示;
ListView1.Columns.Add(items.InnerText, 90, HorizontalAlignment.Center)
将 "strformat" 添加到 drawcolumnheader 适用于水平对齐,但不适用于垂直
Private Sub ListView3_DrawColumnHeader(sender As Object, e As DrawListViewColumnHeaderEventArgs) Handles ListView3.DrawColumnHeader
Dim strFormat As New StringFormat()
If e.Header.TextAlign = HorizontalAlignment.Center Then
strFormat.LineAlignment = StringAlignment.Center
strFormat.Alignment = StringAlignment.Center
ElseIf e.Header.TextAlign = HorizontalAlignment.Right Then
strFormat.LineAlignment = StringAlignment.Far
End If
e.DrawBackground()
e.Graphics.FillRectangle(Brushes.SteelBlue, e.Bounds)
Dim headerFont As New Font("Arial", 8, FontStyle.Bold)
e.Graphics.DrawString(e.Header.Text, headerFont, Brushes.White, e.Bounds, strFormat)
End Sub
根据@Jimi 的建议,处理 header 文本对齐的最佳方法是使用
Datagridview 而不是 Listview。 Datagridview 具有许多功能,包括 header 文本、行和列调整。
如何设置列表视图 header 列的垂直对齐方式 object 以适合单元格边框内的文本(无法自动设置 header 表单的高度)
部分文字未显示,如下所示;
ListView1.Columns.Add(items.InnerText, 90, HorizontalAlignment.Center)
将 "strformat" 添加到 drawcolumnheader 适用于水平对齐,但不适用于垂直
Private Sub ListView3_DrawColumnHeader(sender As Object, e As DrawListViewColumnHeaderEventArgs) Handles ListView3.DrawColumnHeader
Dim strFormat As New StringFormat()
If e.Header.TextAlign = HorizontalAlignment.Center Then
strFormat.LineAlignment = StringAlignment.Center
strFormat.Alignment = StringAlignment.Center
ElseIf e.Header.TextAlign = HorizontalAlignment.Right Then
strFormat.LineAlignment = StringAlignment.Far
End If
e.DrawBackground()
e.Graphics.FillRectangle(Brushes.SteelBlue, e.Bounds)
Dim headerFont As New Font("Arial", 8, FontStyle.Bold)
e.Graphics.DrawString(e.Header.Text, headerFont, Brushes.White, e.Bounds, strFormat)
End Sub
根据@Jimi 的建议,处理 header 文本对齐的最佳方法是使用 Datagridview 而不是 Listview。 Datagridview 具有许多功能,包括 header 文本、行和列调整。