VB.Net ListView在宽度为0时限制列大小

VB.Net ListView在宽度为0时限制列大小,vb.net,listview,resize,Vb.net,Listview,Resize,我只是想问一下怎么做 如果列的当前宽度为0,则限制列大小调整。 任何人都可以帮我做这件事。像这样的事情怎么样 Dim preWidth As Integer = 1 Private Sub ListView1_ColumnWidthChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnWidthChangedEventArgs) Handles ListView1.ColumnWidthChanged

我只是想问一下怎么做

如果列的当前宽度为0,则限制列大小调整。


任何人都可以帮我做这件事。

像这样的事情怎么样

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

Himal的答案是可行的,但它允许用户调整列的大小,然后将列捕捉回其原始宽度。要完全禁用列的宽度更改,请执行以下操作:

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语句以检查特定列可能很有用