ListView.AutoResizeColumn(Int32, ColumnHeaderAutoResizeStyle) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Resizes the width of the given column as indicated by the resize style.
public:
void AutoResizeColumn(int columnIndex, System::Windows::Forms::ColumnHeaderAutoResizeStyle headerAutoResize);
public void AutoResizeColumn (int columnIndex, System.Windows.Forms.ColumnHeaderAutoResizeStyle headerAutoResize);
member this.AutoResizeColumn : int * System.Windows.Forms.ColumnHeaderAutoResizeStyle -> unit
Public Sub AutoResizeColumn (columnIndex As Integer, headerAutoResize As ColumnHeaderAutoResizeStyle)
Parameters
- columnIndex
- Int32
The zero-based index of the column to resize.
- headerAutoResize
- ColumnHeaderAutoResizeStyle
One of the ColumnHeaderAutoResizeStyle values.
Exceptions
columnIndex
is greater than 0 when Columns is null
-or-
columnIndex
is less than 0 or greater than the number of columns set.
headerAutoResize
is not a member of the ColumnHeaderAutoResizeStyle enumeration.
Examples
The following example initializes a ListView in detail view and automatically resizes the columns using the AutoResizeColumn method. To run this example, paste this code into a Windows Form and call the InitializeResizingListView
method from the form's constructor or Load event handler.
private ListView resizingListView = new ListView();
private Button button1 = new Button();
private void InitializeResizingListView()
{
// Set location and text for button.
button1.Location = new Point(100, 15);
button1.Text = "Resize";
button1.Click += new EventHandler(button1_Click);
// Set the ListView to details view.
resizingListView.View = View.Details;
//Set size, location and populate the ListView.
resizingListView.Size = new Size(200, 100);
resizingListView.Location = new Point(40, 40);
resizingListView.Columns.Add("HeaderSize");
resizingListView.Columns.Add("ColumnContent");
ListViewItem listItem1 = new ListViewItem("Short");
ListViewItem listItem2 = new ListViewItem("Tiny");
listItem1.SubItems.Add(new ListViewItem.ListViewSubItem(
listItem1, "Something longer"));
listItem2.SubItems.Add(new ListViewItem.ListViewSubItem(
listItem2, "Something even longer"));
resizingListView.Items.Add(listItem1);
resizingListView.Items.Add(listItem2);
// Add the ListView and the Button to the form.
this.Controls.Add(resizingListView);
this.Controls.Add(button1);
}
private void button1_Click(object sender, EventArgs e)
{
resizingListView.AutoResizeColumn(0,
ColumnHeaderAutoResizeStyle.HeaderSize);
resizingListView.AutoResizeColumn(1,
ColumnHeaderAutoResizeStyle.ColumnContent);
}
Private resizingListView As New ListView()
Private WithEvents button1 As New Button()
Private Sub InitializeResizingListView()
' Set location and text for button.
button1.Location = New Point(100, 15)
button1.Text = "Resize"
AddHandler button1.Click, AddressOf button1_Click
' Set the ListView to details view.
resizingListView.View = View.Details
'Set size, location and populate the ListView.
resizingListView.Size = New Size(200, 100)
resizingListView.Location = New Point(40, 40)
resizingListView.Columns.Add("HeaderSize")
resizingListView.Columns.Add("ColumnContent")
Dim listItem1 As New ListViewItem("Short")
Dim listItem2 As New ListViewItem("Tiny")
listItem1.SubItems.Add(New ListViewItem.ListViewSubItem(listItem1, _
"Something longer"))
listItem2.SubItems.Add(New ListViewItem.ListViewSubItem(listItem2, _
"Something even longer"))
resizingListView.Items.Add(listItem1)
resizingListView.Items.Add(listItem2)
' Add the ListView and the Button to the form.
Me.Controls.Add(resizingListView)
Me.Controls.Add(button1)
End Sub
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles button1.Click
' Resize the first column to the header size.
resizingListView.AutoResizeColumn(0, _
ColumnHeaderAutoResizeStyle.HeaderSize)
' Resize the second column to the column content.
resizingListView.AutoResizeColumn(1, _
ColumnHeaderAutoResizeStyle.ColumnContent)
End Sub
Remarks
Calling this method is only effective once the ListView and containing Form have been constructed, and the ListView column headers and columns are populated with items. If new items are added to the ListView, the columns will not resize unless AutoResizeColumn is called again.