Почему свойство Visible неправильно обновляется в UserControl? - PullRequest
4 голосов
/ 23 сентября 2010

Иногда свойство Visible моего UserControl обновляется неправильно.Это происходит во время загрузки моего приложения, в OnFontChanged, запускается из InitializeComponent, вероятно, потому что некоторые другие вещи еще не были настроены.Я просто не могу узнать, что.

alt text

vScrollBar является UserControl и находится внутри другого UserControl.По-видимому, это происходит только при попытке установить значение true.vScrollBar уже создал свой дескриптор, поскольку часы на IsHandleCreated говорят, что это правда.

Ответы [ 2 ]

7 голосов
/ 23 сентября 2010

Чтение свойства Visible дает вам фактическое состояние видимости элемента управления, а не «предполагаемое» состояние.Что всегда будет ложным в методе InitializeComponent (), форма или элемент управления пока не видны до тех пор, пока после не будет запущено событие Load.Также будет false, если элемент управления контейнера не виден.

1 голос
/ 23 сентября 2010

Может по-прежнему показывать false, если форма не загружена. Попробуйте установить его в событии OnLoad формы.

...