我创建了一个自定义的
当我运行包含自定义控件的程序时,列按钮被正确地放置。然而,在设计时,当我添加或删除列时,控件没有更新添加的按钮。
它们在运行时没问题,但在设计时,我需要关闭窗体并重新打开它(强制重新绘制),以更新列按钮。如何通过编程方式强制重绘我的用户控件?
Column属性看起来像这样:
listview
控件。我设置它每次添加新列时都会添加一个新的按钮。当我运行包含自定义控件的程序时,列按钮被正确地放置。然而,在设计时,当我添加或删除列时,控件没有更新添加的按钮。
它们在运行时没问题,但在设计时,我需要关闭窗体并重新打开它(强制重新绘制),以更新列按钮。如何通过编程方式强制重绘我的用户控件?
Column属性看起来像这样:
<MergableProperty(False)> _
<Editor("System.Windows.Forms.Design.ColumnHeaderCollectionEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", GetType(UITypeEditor))> _
<DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
<Localizable(True)> _
Public ReadOnly Property Columns() As ListView.ColumnHeaderCollection
Get
Return ListView1.Columns
End Get
End Property
我尝试像这样重新绘制控件:
Me.Invalidate()
Dim x As New Rectangle With {.X = Me.Location.X, .Y = Me.Location.Y, .Size = Me.Size}
Me.NotifyInvalidate(x)
但是由于某些原因,它无法正常工作。在设计时,每次我添加一列时,相应的按钮都没有被添加。