2010-05-30 2 views
0

Как я могу изменить размер одного столбца с помощью формы, чтобы столбцы ListView продолжали заполнять всю форму?VB.Net: изменение размера столбца ListBoxView при изменении формы

+0

Является ли ваш qustion о ListBox с MultiColumn установленным как true? – volody

+0

Нет, это элемент управления ListView. – Ben

ответ

1

Да, реализует обработчик события Resize listview и вычисляет пробел, оставшийся для столбца. Например:

Private Sub ListView1_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.Resize 
    Dim resizeColumn As Integer = 1 
    Dim w As Integer = 0 
    For column As Integer = 0 To ListView1.Columns.Count - 1 
     if column <> resizeColumn then w += ListView1.Columns(column).Width 
    Next 
    w = ListView1.ClientSize.Width - w - 1 - SystemInformation.VerticalScrollBarWidth 
    If w > 0 Then ListView1.Columns(resizeColumn).Width = w 
End Sub 

Protected Overrides Sub OnLoad(ByVal e As System.EventArgs) 
    ListView1_Resize(Me, EventArgs.Empty) 
    MyBase.OnLoad(e) 
End Sub 
+0

Это сработало хорошо, однако как я могу выбрать, какой столбец будет изменяться? – Ben

+0

Конечно, просто измените код. –

+0

Herpderp. Какая часть? Я попытался изменить почти все переменные и не получил хороших результатов. – Ben

Смежные вопросы