Проблема с убийцей, которую я имел в пользовательских интерфейсах excel, поскольку, насколько я помню, со списком прокрутки.
Когда у вас будет больше элементов в списке, который можно отобразить, появится панель scoll. В определенных условиях, однако, прокручивая планку до конца списка и отпуская ее, "прыгнет" на планку надреза вверх, и вы не сможете увидеть последний элемент в списке. Это проиллюстрировано здесь:
Есть много сообщений на форуме, которые представляют эту проблему, и решение всегда было "Установите для свойства встроенной высоты значение false, а затем снова установите значение true". Это немного изменит размер списка, чтобы высота была округлена до высоты одной строки, а затем никакие элементы не были скрыты.
With lstbox
.IntegralHeight = False
.Height = myHeight
.IntegralHeight = True
End With
Однако есть определенные случаи, когда это не работает. Если вы:
- Программная установка высоты вашего списка
- НЕ, используя простой выбор списка (fmMultiSelectSingle)
Затем просто устанавливая интегральную высоту в false, а затем значение true после или между изменениями высоты будет корректировать высоту вашего списка, но когда вы перейдете к прокрутке вниз, проблема останется - последний элемент не может быть замечен.
Ключом к этому разочаровывающему вопросу является то, что, хотя все остальные в Интернете подтверждают, что решение "wholeHeight" работает для них, эти очень частные случаи расстраиваются, удивляясь, почему это не работает для них. Итак, как они исправились?