Столкнулся с этой проюлемой в Word VBA, поэтому пишу тут. Но, думается, это в любом языке актуально!
Суть проблемы: создается ListView в юзерформе, переключается в режим report, включаются чекбоксы.
Private Sub UserForm_Initialize()
With ListView1
.ColumnHeaders.Add Text:="Столбец 1"
.View = lvwReport
.Checkboxes = True
.ListItems.Add Text:="Blackberry"
End With
End Sub
Всё хорошо!
Далее по клику прячем этот контрол:
Private Sub CommandButton1_Click()
ListView1.Visible = False
End Sub
- опять ничего неожиданного. Второй кнопкой возвращаем контрол, заодно добавив элемент:
Private Sub CommandButton2_Click()
ListView1.Visible = True
ListView1.ListItems.Add Text:="Strawberry"
End Sub
Опаньки! У нового элемента есть чекбокс, а у старого - нету!
Если нажать на обе кнопки еще раз, у нас будут два элемента без чекбоксов и один - с ним.
А теперь, собственно, вопрос: как сделать, чтобы чекбоксы отображались после hide?
UPD: Наловчился прятать его за границы юзерформы (не скрывая). Видимо, это единственное решение...