在WINFORM中,listView ColumnWidthChanging事件不是激发的,或者替换为禁用调整列大小



我使用添加了列表视图控件。净4.5。

我的列表视图控件的模式设置为DETAILS视图

并在构造函数和填充列表视图后的加载事件上注册如下事件。

AddHandler lvResult.ColumnWidthChanging, AddressOf lvResult1_ColumnWidthChanging

此外,在设计时,在更改事件时创建。

从未调用此事件。我能够获得调用ColumnWidthChanged事件,但更改未被调用。

请说明出了什么问题?

我需要这个来禁用列表视图中的列重缩放。如果你知道禁用列大小调整的任何替代方法,请与我分享?

感谢您的

ColumnWidthChanging事件看起来充其量是不可靠的。我在VB2008中也看到过同样的情况。我不确定ColumnWidthChanging的解决方案是什么,但这里有一个不错的解决方案(如果你原谅我的VB的话)。只需在Changed事件中将列宽设置回原始值即可。我在这里使用了90的任意值,但您可以使用具有适当列宽的列表或数组。

Private Sub ListView1_ColumnWidthChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnWidthChangedEventArgs) Handles ListView1.ColumnWidthChanged
Static busy As Boolean = False
If busy Then Exit Sub
busy = True
ListView1.Columns(e.ColumnIndex).Width = 90
busy = False
End Sub

相关内容

最新更新