DrawListViewColumnHeaderEventArgs.Header Property

Definition

Gets the ColumnHeader representing the column header to draw.

public:
 property System::Windows::Forms::ColumnHeader ^ Header { System::Windows::Forms::ColumnHeader ^ get(); };
public System.Windows.Forms.ColumnHeader Header { get; }
public System.Windows.Forms.ColumnHeader? Header { get; }
member this.Header : System.Windows.Forms.ColumnHeader
Public ReadOnly Property Header As ColumnHeader

Property Value

The ColumnHeader representing the column header.

Examples

The following code example demonstrates how to use the Header property in an application that provides custom drawing for a ListView control.

For the complete example, see the DrawListViewColumnHeaderEventArgs overview reference topic.

// Draws column headers.
private void listView1_DrawColumnHeader(object sender,
    DrawListViewColumnHeaderEventArgs e)
{
    using (StringFormat sf = new StringFormat())
    {
        // Store the column text alignment, letting it default
        // to Left if it has not been set to Center or Right.
        switch (e.Header.TextAlign)
        {
            case HorizontalAlignment.Center:
                sf.Alignment = StringAlignment.Center;
                break;
            case HorizontalAlignment.Right:
                sf.Alignment = StringAlignment.Far;
                break;
        }

        // Draw the standard header background.
        e.DrawBackground();

        // Draw the header text.
        using (Font headerFont =
                    new Font("Helvetica", 10, FontStyle.Bold))
        {
            e.Graphics.DrawString(e.Header.Text, headerFont,
                Brushes.Black, e.Bounds, sf);
        }
    }
    return;
}
' Draws column headers.
Private Sub listView1_DrawColumnHeader(ByVal sender As Object, _
    ByVal e As DrawListViewColumnHeaderEventArgs) _
    Handles listView1.DrawColumnHeader

    Dim sf As New StringFormat()
    Try

        ' Store the column text alignment, letting it default
        ' to Left if it has not been set to Center or Right.
        Select Case e.Header.TextAlign
            Case HorizontalAlignment.Center
                sf.Alignment = StringAlignment.Center
            Case HorizontalAlignment.Right
                sf.Alignment = StringAlignment.Far
        End Select

        ' Draw the standard header background.
        e.DrawBackground()

        ' Draw the header text.
        Dim headerFont As New Font("Helvetica", 10, FontStyle.Bold)
        Try
            e.Graphics.DrawString(e.Header.Text, headerFont, _
                Brushes.Black, e.Bounds, sf)
        Finally
            headerFont.Dispose()
        End Try

    Finally
        sf.Dispose()
    End Try

End Sub

Remarks

This property is useful when the State property does not provide adequate information to meet your needs. The State property provides only basic state information that you can use, for example, to determine whether the mouse is over the column header. The Header property, on the other hand, allows you to access all members of the ColumnHeader representing the header.

Applies to

See also