Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Auto-resize list view using a shortcut trick

0.00/5 (No votes)
11 Sep 2003 1  
This is a little trick to auto-resize the columns width of a listview with only one line of code

Introduction

Windows has many shortcuts, but there is one very interesting to auto-resize the columns width of any grid, CTRL and "+" of the numeric pad. To try this feature try to set focus to the list view of Explorer (for example by selecting a file) and then press the CTRL button and the "+" button of the numeric pad, you'see columns moving untill them are perfectly sized so there's no text hided by their little width. So I tought, can I use this feature into my programs ? And this is what I done.

Using the code

Now, to send keystrokes to the active application you have to use the SendKeys.Send function. The code of the CTRL character is "^", while the plus sign is equal to {+}.

SendKeys.Send ("^{+}");

Demo project

The demo project is a simple program to search any file trought the directory tree and I used these lines of code to resize the column of the listview:
if (chkResizeGrid.Checked)
{
    lstViewFile.Focus();
    SendKeys.Send ("^{+}");
}

I have to set the focus to the grid so I'm sure that the next instruction, the Send function, will be received by the listview. Sorry, but in the demo project all the text and comments are in italian.

Conclusion

This is a little trick by Francesco Natali.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here