property Column.AutoWidth as Long
Computes the column's width required to fit the entire column's content.

TypeDescription
Long A long value that indicates the required width of the column to fit the entire column's content.

Use the AutoWidth property to arrange the columns to fit the entire control's content. The AutoWidth property scans all cells of the column. The AutoWidth property. Use the Width property to change the column's width at runtime. Use the WidthAutoResize property to let control resizes the column each time when an item is expanded or collapsed. Use the ColumnAutoResize property to specify whether the control resizes all visible columns to fit the control's client area.

The following VB function resizes all columns:

Private Sub autoSize(ByVal t As EXLISTLibCtl.List)
    t.BeginUpdate
        Dim c As Column
        For Each c In t.Columns
            c.Width = c.AutoWidth
        Next
        t.EndUpdate
        t.Refresh
End Sub

The following C++ sample resizes all visible columns:

#include "Columns.h"
#include "Column.h"
void autoSize( CList& list )
{
	list.BeginUpdate();
	CColumns columns = list.GetColumns();
	for ( long i = 0;i < columns.GetCount(); i++ )
	{
		CColumn column = columns.GetItem( COleVariant( i ) );
		if ( column.GetVisible() )
			column.SetWidth( column.GetAutoWidth() );
	}
	list.EndUpdate();
}

The following VB.NET sample resizes all visible columns:

Private Sub autoSize(ByRef list As AxEXLISTLib.AxList)
    list.BeginUpdate()
    Dim i As Integer
    With list.Columns
        For i = 0 To .Count - 1
            If .Item(i).Visible Then
                .Item(i).Width = .Item(i).AutoWidth
            End If
        Next
    End With
    list.EndUpdate()
End Sub

The following C# sample resizes all visible columns:

private void autoSize( ref AxEXLISTLib.AxList list )
{
	list.BeginUpdate();
	for ( int i = 0; i < list.Columns.Count - 1; i++ )
		if ( list.Columns[i].Visible) 
			list.Columns[i].Width = list.Columns[i].AutoWidth;
	list.EndUpdate();
}

The following VFP sample resizes all visible columns:

with thisform.List1
	.BeginUpdate()
	for i = 0 to .Columns.Count - 1
		if ( .Columns(i).Visible )
			.Columns(i).Width = .Columns(i).AutoWidth
		endif
	next
	.EndUpdate()
endwith