Каковы преимущества закрытия формы и перезагрузки всех данных по сравнению с скрытием и отображением формы в C #? - PullRequest
2 голосов
/ 20 марта 2009

При работе с формами Windows в C # безопаснее / выгоднее с точки зрения ресурсов полностью закрывать форму каждый раз и перезагружать данные, когда вам снова понадобится форма, а не просто скрывать форму и хранить все в память

Ответы [ 3 ]

6 голосов
/ 20 марта 2009

У меня никогда не было необходимости делать это для улучшения использования ресурсов.
Он чище и безопаснее, когда нужно вызвать форму и закрыть ее, как только цель будет достигнута. Иначе, вы должны написать дополнительный код, чтобы отследить, какие / какие формы открыты, и вывести их на передний план против появления новой.

2 голосов
/ 20 марта 2009

Зачем управлять ресурсами самостоятельно? Вы просто даете себе больше работы, если будете хранить ссылки на формы и показывать / скрывать их, а не открывать / закрывать их. Если вы спросите меня, лучше разрешить GC высвободить все ресурсы, которые может содержать любая форма, и закрыть ее.

Кроме того, вам будет трудно реализовать какие-либо модальные диалоги, если вы хотите показать / скрыть.

0 голосов
/ 20 марта 2009

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...