Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.

Tip of the Day
Language: VB7
Expertise: Intermediate
Jun 8, 2002



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Setting the width of the last column of a ListView when the control is resized

When you resize a ListView control (this happens automatically if the ListView is docked to the form, and the user resizes the form), it's nice to have the last column to be resized accordingly to cover the available space. To do this, handle the ListView's Resize control (in .NET any control has a Resize event, not just the Form as in VB6) and calculate the width of the last column by subtracting the width of the other columns from the ListView's total width. If you have only two columns, the required code would be similar to the following:

Private Sub ListView1_Resize(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles ListView1.Resize
    ListViewHeader2.Width = ListView1.Width - ListViewHeader2.Width - 27
End Sub
This code works always fine when the control is enlarged, but sometimes when the control is shrunk the ListView displays the horizontal scrollbar, even if the last column was correctly resized and the scrollbar is not necessary. To solve this issue, just wrap the code that sets the new width of the column between the ListView's BeginUpdate and EndUpdate method calls, as shown below:

Private Sub ListView1_Resize(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles ListView1.Resize
    ListViewHeader2.Width = ListView1.Width - ListViewHeader2.Width - 27
End Sub
Marco Bellinaso
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date