如果Width = 0,VB.Net ListView限制列大小调整

时间:2012-03-07 07:51:05

标签: vb.net listview resize

只想问问如何

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

任何人都可以帮我解决这个问题。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

这样的事情怎么样?

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