This documentation is archived and is not being maintained.

ListView.HeaderStyle Property

Gets or sets the column header style.

[Visual Basic]
Public Property HeaderStyle As ColumnHeaderStyle
public ColumnHeaderStyle HeaderStyle {get; set;}
public: __property ColumnHeaderStyle get_HeaderStyle();
public: __property void set_HeaderStyle(ColumnHeaderStyle);
public function get HeaderStyle() : ColumnHeaderStyle;
public function set HeaderStyle(ColumnHeaderStyle);

Property Value

One of the ColumnHeaderStyle values. The default is ColumnHeaderStyle.Clickable.


Exception Type Condition
InvalidEnumArgumentException The value specified is not one of the ColumnHeaderStyle values.


The HeaderStyle property allows you to specify the type of column headers to display when the View property of the ListView control is set to View.Details and the ListView control has ColumnHeader objects specified in the ListView.ColumnHeaderCollection. ColumnHeader objects define the columns that are displayed in the ListView control. Each column is used to display subitem information for each item in the ListView. The HeaderStyle property allows you to specify whether the column headers will function as clickable buttons. If the HeaderStyle property is set to ColumnHeaderStyle.Clickable, column headers act like buttons that users can click to carry out an action, such as sorting the items in the ListView control using the items in the clicked column as a key. The HeaderStyle property can also be set to ColumnHeaderStyle.None to hide all columns headers.


[Visual Basic, C#] The following code example demonstrates initializing a ListView control setting the HeaderStyle property to non-clickable. It also demonstrates using the BeginUpdate and EndUpdate methods. To run this example paste the following code in a form containing a ListView named ListView1. Call the InititalizeListView method from the form's constructor or Load method.

[Visual Basic] 
Private Sub InitializeListView()
    Me.ListView1 = New System.Windows.Forms.ListView

    ' Set properties such as BackColor, Location and Size
    Me.ListView1.BackColor = System.Drawing.SystemColors.Control
    Me.ListView1.Dock = System.Windows.Forms.DockStyle.Top
    Me.ListView1.Location = New System.Drawing.Point(0, 0)
    Me.ListView1.Size = New System.Drawing.Size(292, 130)
    Me.ListView1.View = System.Windows.Forms.View.Details
    Me.ListView1.HideSelection = False

    ' Allow user to select multiple items.
    Me.ListView1.MultiSelect = True

    ' Show check boxes in the ListView.
    Me.ListView1.CheckBoxes = True

    'Set the column headers and populate the columns.
    ListView1.HeaderStyle = ColumnHeaderStyle.Nonclickable
    Dim columnHeader1 As New ColumnHeader
    With columnHeader1
        .Text = "Breakfast Choices"
        .TextAlign = HorizontalAlignment.Left
        .Width = 146
    End With
    Dim columnHeader2 As New ColumnHeader
    With columnHeader2
        .Text = "Price Each"
        .TextAlign = HorizontalAlignment.Center
        .Width = 142
    End With
    Dim foodList() As String = New String() {"Juice", "Coffee", _
        "Cereal & Milk", "Fruit Plate", "Toast & Jelly", _
        "Bagel & Cream Cheese"}

    Dim foodPrice() As String = New String() {"1.09", "1.09", "2.19", _
        "2.79", "2.09", "2.69"}
    Dim count As Integer

    ' Members are added one at a time, so call BeginUpdate to ensure 
    ' the list is painted only once, rather than as each list item is added.

    For count = 0 To foodList.Length - 1
        Dim listItem As New ListViewItem(foodList(count))

    'Call EndUpdate when you finish adding items to the ListView.
End Sub

private void InitializeListView()
    this.ListView1 = new System.Windows.Forms.ListView();

    // Set properties such as BackColor and DockStyle and Location.
    this.ListView1.BackColor = System.Drawing.SystemColors.Control;
    this.ListView1.Dock = System.Windows.Forms.DockStyle.Top;
    this.ListView1.Location = new System.Drawing.Point(0, 0);
    this.ListView1.Size = new System.Drawing.Size(292, 130);
    this.ListView1.View = System.Windows.Forms.View.Details;
    this.ListView1.HideSelection = false;

    // Allow the user to select multiple items.
    this.ListView1.MultiSelect = true;

    // Show CheckBoxes in the ListView.
    this.ListView1.CheckBoxes = true;
    //Set the column headers and populate the columns.
    ListView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
    ColumnHeader columnHeader1 = new ColumnHeader();
    columnHeader1.Text = "Breakfast Choices";
    columnHeader1.TextAlign = HorizontalAlignment.Left;
    columnHeader1.Width = 146;

    ColumnHeader columnHeader2 = new ColumnHeader();
    columnHeader2.Text = "Price Each";
    columnHeader2.TextAlign = HorizontalAlignment.Center;
    columnHeader2.Width = 142;


    string[] foodList = new string[]{"Juice", "Coffee", 
        "Cereal & Milk", "Fruit Plate", "Toast & Jelly", 
        "Bagel & Cream Cheese"};

    string[] foodPrice = new string[]{"1.09", "1.09", "2.19", 
        "2.79", "2.09", "2.69"};
    int count;

    // Members are added one at a time, so call BeginUpdate to ensure 
    // the list is painted only once, rather than as each list item is added.

    for(count = 0; count < foodList.Length; count++)
        ListViewItem listItem = new ListViewItem(foodList[count]);

    //Call EndUpdate when you finish adding items to the ListView.

[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button Language Filter in the upper-left corner of the page.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

See Also

ListView Class | ListView Members | System.Windows.Forms Namespace | ColumnHeaderStyle | View | View