Куда направляется пользовательский элемент управления, когда для его видимости установлено значение false? - PullRequest
0 голосов
/ 09 сентября 2010

Любопытство снова выбрасывается. Я давно пользуюсь пользовательским контролем .Visible и .Hide() методом. Итак, куда же попадает пользовательский элемент управления, когда видимость его установлена ​​на false?

Ответы [ 3 ]

4 голосов
/ 09 сентября 2010

Это никуда не денется - оно остается в памяти. Просто его не видно. Быть видимым действительно означает, что он должен рисовать свою область по запросу и может получать фокус и действия пользователя.

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

Когда вы устанавливаете свойство Visible для элемента управления, оно по существу говорит веб-серверу не возвращать HTML-разметку для элемента управления в ответе.Однако он сохраняет информацию элемента управления в состоянии просмотра, чтобы вы могли продолжать работать с ней в своем коде.

Ой - извините.Я думал, что вы говорите об ASP.NET, а не о WinForms.Мой плохой.

0 голосов
/ 09 сентября 2010

Я бы согласился с VinayC (+1 к слову).

Кроме того, хотя элемент управления не рисует сам по себе и не реагирует на пользовательские события через пользовательский интерфейс, вы все равно можете использовать его программно или использовать его данные.

Например, у вас может быть невидимое окно, которое регистрирует опубликованные данные сообщения.

Вы на самом деле используете эту функцию довольно часто, не задумываясь об этом, например, возьмите свой элемент управления Form. Для модального диалогового окна, которое вы создаете, задайте значения свойств, пока оно скрыто, затем сделайте его видимым с помощью метода ShowDialog ().

...