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

TypeDescription
Long A long expression that indicates the column's width required 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 doesn't change the column's width. Use Width property to change the column's width at runtime. 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 EXCOMBOBOXLibCtl.ComboBox)
    t.BeginUpdate
        Dim c As Column
        For Each c In t.Columns
            c.Width = c.AutoWidth
        Next
    t.EndUpdate
End Sub

The following C++ sample resizes all visible columns:

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

The following VB.NET sample resizes all visible columns:

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

The following C# sample resizes all visible columns:

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

The following VFP sample resizes all visible columns:

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