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.