ListView::HeaderStyle Property

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets or sets the column header style.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public:
property ColumnHeaderStyle HeaderStyle {
	ColumnHeaderStyle get();
	void set(ColumnHeaderStyle value);
}

Property Value

Type: System.Windows.Forms::ColumnHeaderStyle

One of the ColumnHeaderStyle values. The default is Clickable.

Exception 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 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 are visible or, if they are visible, whether they will function as clickable buttons. If the HeaderStyle property is set to ColumnHeaderStyle::None, the column headers are not displayed, although the items and subitems of the ListView control are still arranged in columns. If the HeaderStyle property is set to ColumnHeaderStyle::Clickable, the 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. You can implement this behavior in a handler for the ColumnClick event. If the HeaderStyle property is set to ColumnHeaderStyle::Nonclickable, the column headers appear, but cannot be clicked.

The following code example demonstrates a ListView that allows multiple items to be selected. The example demonstrates setting the HideSelection and HeaderStyle properties. It also demonstrates the ColumnHeader::Text, ColumnHeader::TextAlign and ColumnHeader::Width properties. To run this example, paste the following code into a form that contains a ListView object named ListView1 and a TextBox named TextBox1. Call the InitializeListView method from the form's constructor or Load event handler.

// This method adds two columns to the ListView, setting the Text 
// and TextAlign, and Width properties of each ColumnHeader.  The 
// HeaderStyle property is set to NonClickable since the ColumnClick 
// event is not handled.  Finally the method adds ListViewItems and 
// SubItems to each column.
void InitializeListView()
{
   this->ListView1 = gcnew System::Windows::Forms::ListView;
   this->ListView1->BackColor = System::Drawing::SystemColors::Control;
   this->ListView1->Dock = System::Windows::Forms::DockStyle::Top;
   this->ListView1->Location = System::Drawing::Point( 0, 0 );
   this->ListView1->Name = "ListView1";
   this->ListView1->Size = System::Drawing::Size( 292, 130 );
   this->ListView1->TabIndex = 0;
   this->ListView1->View = System::Windows::Forms::View::Details;
   this->ListView1->MultiSelect = true;
   this->ListView1->HideSelection = false;
   this->ListView1->HeaderStyle = ColumnHeaderStyle::Nonclickable;
   ColumnHeader^ columnHeader1 = gcnew ColumnHeader;
   columnHeader1->Text = "Breakfast Item";
   columnHeader1->TextAlign = HorizontalAlignment::Left;
   columnHeader1->Width = 146;
   ColumnHeader^ columnHeader2 = gcnew ColumnHeader;
   columnHeader2->Text = "Price Each";
   columnHeader2->TextAlign = HorizontalAlignment::Center;
   columnHeader2->Width = 142;
   this->ListView1->Columns->Add( columnHeader1 );
   this->ListView1->Columns->Add( columnHeader2 );
   array<String^>^foodList = {"Juice","Coffee","Cereal & Milk","Fruit Plate","Toast & Jelly","Bagel & Cream Cheese"};
   array<String^>^foodPrice = {"1.09","1.09","2.19","2.49","1.49","1.49"};
   for ( int count = 0; count < foodList->Length; count++ )
   {
      ListViewItem^ listItem = gcnew ListViewItem( foodList[ count ] );
      listItem->SubItems->Add( foodPrice[ count ] );
      ListView1->Items->Add( listItem );

   }
   this->Controls->Add( ListView1 );
}

.NET Framework
Available since 1.1
Return to top
Show: