ColumnHeader.Width Property


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

Gets or sets the width of the column.

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

public int Width { get; set; }

Property Value

Type: System.Int32

The width of the column, in pixels.

This property enables you to set the Width of the ColumnHeader. The ColumnHeader can be set to adjust at run time to the column contents or heading. To adjust the width of the longest item in the column, set the Width property to -1. To autosize to the width of the column heading, set the Width property to -2.


Unexpected behavior can result when the combined width of all columns exceeds 32,768 pixels.

The following code example demonstrates initializing a ListView control. The example creates ColumnHeader objects and sets the column header's Text, TextAlign and Width properties. The example also adds items and subitems to the ListView. To run this example paste the following code in a form and call the PopulateListView method from the form's constructor or Load event handler.

private void PopulateListView()
	ListView1.Width = 270;
	ListView1.Location = new System.Drawing.Point(10, 10);

	// Declare and construct the ColumnHeader objects.
	ColumnHeader header1, header2;
	header1 = new ColumnHeader();
	header2 = new ColumnHeader();

	// Set the text, alignment and width for each column header.
	header1.Text = "File name";
	header1.TextAlign = HorizontalAlignment.Left;
	header1.Width = 70;

	header2.TextAlign = HorizontalAlignment.Left;
	header2.Text = "Location";
	header2.Width = 200;

	// Add the headers to the ListView control.

       // Specify that each item appears on a separate line.
       ListView1.View = View.Details;

       // Populate the ListView.Items property.
	// Set the directory to the sample picture directory.
	System.IO.DirectoryInfo dirInfo = 
		new System.IO.DirectoryInfo(
		"C:\\Documents and Settings\\All Users" +
		"\\Documents\\My Pictures\\Sample Pictures");

	// Get the .jpg files from the directory
	System.IO.FileInfo[] files = dirInfo.GetFiles("*.jpg");

	// Add each file name and full name including path
	// to the ListView.
	if (files != null)
		foreach ( System.IO.FileInfo file in files )
			ListViewItem item = new ListViewItem(file.Name);

.NET Framework
Available since 1.1
Return to top