VB.Net ListView ограничить изменение размера столбца, если ширина = 0 - PullRequest
2 голосов
/ 07 марта 2012

Просто хочу спросить, как

restrict the column resizing if the current width of column is 0.

Любой может помочь мне с этим ..

Ответы [ 2 ]

2 голосов
/ 21 марта 2012

Ответ Химала работает, но он позволяет пользователю изменить размер столбца, а затем столбец возвращается к его первоначальной ширине. Чтобы вообще отключить изменение ширины столбца:

Private Sub ListView1_ColumnWidthChanging(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnWidthChangingEventArgs) Handles ListView1.ColumnWidthChanging
    If Me.ListView1.Columns(e.ColumnIndex).Width = 0 Then
        e.Cancel = True
        e.NewWidth = Me.ListView1.Columns(e.ColumnIndex).Width
    End If
End Sub

Обратите внимание, что этот код также повлияет на все столбцы, размеры которых пользователь уменьшит до ширины 0. Может быть полезно изменить оператор If для проверки конкретных столбцов, в зависимости от ваших потребностей.

1 голос
/ 07 марта 2012

Как насчет этого?

Dim preWidth As Integer = 1

Private Sub ListView1_ColumnWidthChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnWidthChangedEventArgs) Handles ListView1.ColumnWidthChanged


    If preWidth = 0 Then ListView1.Columns(0).Width = 0

    preWidth = ListView1.Columns(0).Width


End Sub
...