ListView::ColumnHeaderCollection::Add Method (String^, Int32, HorizontalAlignment)
Adds a column header to the collection with specified text, width, and alignment settings.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
public: virtual ColumnHeader^ Add( String^ text, int width, HorizontalAlignment textAlign )
Parameters
- text
-
Type:
System::String^
The text to display in the column header.
- width
-
Type:
System::Int32
The initial width of the column header.
- textAlign
-
Type:
System.Windows.Forms::HorizontalAlignment
One of the HorizontalAlignment values.
Return Value
Type: System.Windows.Forms::ColumnHeader^The ColumnHeader that was created and added to the collection.
You can use this version of the Add method to create a new ColumnHeader to add to the collection. The text of the new ColumnHeader added to the control is based on the text parameter. This version of the Add method also allows you to specify the width of the column and the alignment of text in the column header. If you have an existing ColumnHeader that you want to add to the collection, use the version of the Add method that accepts a ColumnHeader as its parameter.
When column headers are added, they are added to the end of the collection. To insert a column header into the collection at a specific position, use the Insert method. To add a set of column headers to the collection in a single operation, use the AddRange method.
The following code example creates a ListView control with three ListViewItem objects specified and three ListViewItem::ListViewSubItem objects specified for each item. The example also creates ColumnHeader objects to display the subitems in details view. Two ImageList objects are also created in the code example to provide images for the ListViewItem objects. These ImageList objects are added to the LargeImageList and SmallImageList properties. The example uses the following properties in creating the ListView control:
This example requires that you have added the code to a Form and call the method created in the example from the constructor or another method on the form. The example also requires that images named MySmallImage1, MySmallImage2, MyLargeImage1, and MyLargeImage2 are located in the root directory of drive C.
private: void CreateMyListView() { // Create a new ListView control. ListView^ listView1 = gcnew ListView; listView1->Bounds = Rectangle(Point(10,10),System::Drawing::Size( 300, 200 )); // Set the view to show details. listView1->View = View::Details; // Allow the user to edit item text. listView1->LabelEdit = true; // Allow the user to rearrange columns. listView1->AllowColumnReorder = true; // Display check boxes. listView1->CheckBoxes = true; // Select the item and subitems when selection is made. listView1->FullRowSelect = true; // Display grid lines. listView1->GridLines = true; // Sort the items in the list in ascending order. listView1->Sorting = SortOrder::Ascending; // Create three items and three sets of subitems for each item. ListViewItem^ item1 = gcnew ListViewItem( "item1",0 ); // Place a check mark next to the item. item1->Checked = true; item1->SubItems->Add( "1" ); item1->SubItems->Add( "2" ); item1->SubItems->Add( "3" ); ListViewItem^ item2 = gcnew ListViewItem( "item2",1 ); item2->SubItems->Add( "4" ); item2->SubItems->Add( "5" ); item2->SubItems->Add( "6" ); ListViewItem^ item3 = gcnew ListViewItem( "item3",0 ); // Place a check mark next to the item. item3->Checked = true; item3->SubItems->Add( "7" ); item3->SubItems->Add( "8" ); item3->SubItems->Add( "9" ); // Create columns for the items and subitems. // Width of -2 indicates auto-size. listView1->Columns->Add( "Item Column", -2, HorizontalAlignment::Left ); listView1->Columns->Add( "Column 2", -2, HorizontalAlignment::Left ); listView1->Columns->Add( "Column 3", -2, HorizontalAlignment::Left ); listView1->Columns->Add( "Column 4", -2, HorizontalAlignment::Center ); //Add the items to the ListView. array<ListViewItem^>^temp1 = {item1,item2,item3}; listView1->Items->AddRange( temp1 ); // Create two ImageList objects. ImageList^ imageListSmall = gcnew ImageList; ImageList^ imageListLarge = gcnew ImageList; // Initialize the ImageList objects with bitmaps. imageListSmall->Images->Add( Bitmap::FromFile( "C:\\MySmallImage1.bmp" ) ); imageListSmall->Images->Add( Bitmap::FromFile( "C:\\MySmallImage2.bmp" ) ); imageListLarge->Images->Add( Bitmap::FromFile( "C:\\MyLargeImage1.bmp" ) ); imageListLarge->Images->Add( Bitmap::FromFile( "C:\\MyLargeImage2.bmp" ) ); //Assign the ImageList objects to the ListView. listView1->LargeImageList = imageListLarge; listView1->SmallImageList = imageListSmall; // Add the ListView to the control collection. this->Controls->Add( listView1 ); }
Available since 1.1