Automatically resize ListView columns to fit their data in C#

ListView columns

It’s actually pretty easy to automatically resize ListView columns to fit their data. If you set a ListView column’s width to -1, it automatically resizes to fit the data it contains. If you set the width to -2, it resizes to fit its data and its column header.

This example displays buttons that let you set the ListView‘s column widths to 100 pixels, -1, or -2. The program uses the following SetListViewColumnSizes method to set all of the column widths at once.

// Set the listView's column sizes to the same value.
private void SetListViewColumnSizes(ListView lvw, int width)
    foreach (ColumnHeader col in lvw.Columns)
        col.Width = width;

This code simply loops through the ListView control’s columns and sets their values to whatever value was passed into the method.

Download Example   Follow me on Twitter   RSS feed

This entry was posted in controls and tagged , , , , , , , , . Bookmark the permalink.

1 Response to Automatically resize ListView columns to fit their data in C#

  1. inam says:

    This was nice trick or hack and it just solved the issue. Thanks a lot.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.