Я создал пользовательское управление listview
. Я установил его, чтобы добавить новую кнопку каждый раз, когда я добавляю новый столбец.
Когда я запускаю программу, содержащую мой пользовательский элемент управления, кнопки столбцов размещаются правильно. Однако во время разработки, когда я добавляю или удаляю столбцы, элемент управления не обновляет добавленные кнопки.Design-Time Redraw
Они в порядке во время выполнения, но во время разработки мне нужно закрыть форму и снова открыть ее (принудительно повторить), чтобы обновить кнопки столбца.
Как я могу программно принудительно выполнить перерисовку моего User Control?
Свойство Колонка выглядит следующим образом:
<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)
Но по некоторым причинам, он не работает. Во время проектирования каждый раз, когда Ii добавляет столбец, соответствующая кнопка не добавляется.
Код работает по большей части. Неясно, является ли кнопка той же самой, что и заголовок столбца, я предположил, что это так. Я также предположил, что ваш элемент управления загружает элемент управления ListView и не наследует его. Я тестировал VS2012. – LarsTech
yes, thats true, я использую элемент управления listview, мой элемент управления просто добавляет некоторые пользовательские кнопки стиля в качестве заголовков этого списка. По некоторым причинам они не обновляются в режиме разработки ... – rusoaica
Предлагаю вам отредактировать свой пост с помощью некоторых от того, как вы показываете эти кнопки. – LarsTech