Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Динамическое формирование формы


Автор: vespa 4.5.2012, 11:07
Привет всем. Помогите разобраться.
У меня есть две формы - главная(Form1) и дочерняя(Form2). На главной форме есть кнопка, по которой открывается дочерняя (Form2.Show()).  Закрывается дочерняя форма так this.Hide().  Дочерняя форма содержит огромную таблицу TableLayoutPanel. Каждый раз при показе формы таблица должна быть сформирована заново. Момент переформирования таблицы я отлавливаю в обработчике Form2_VisibleChanged(). Если дочерняя форма максимизирована, то пользователь может воочию наблюдать как сначала удаляются все элементы из таблицы, а потом добавляются  новые. Если же дочерняя форма не максимизирована, то главная форма висит до тех пор, пока не отобразиться дочерняя, и пользователь не видит всех изменений. Вопрос, как сделать так чтобы в максимизированном виде форма поялвлялась после всех изменений?

Автор: oleg_in62 20.6.2012, 17:17
попробуй формировать таблицу в обработчике события Shown, оно происходит только раз и раньше чем Form2_VisibleChanged(), и Form2_VisibleChanged() происходит дважды, когда ты отображаешь форму и еще раз когда прячешь

Автор: erm0l0v 21.6.2012, 09:41
Как я понял у вас в Form2 выполняются какие то долгие вычисления которые блокируют работу окна. Эти вычисления нужно вынести в отдельный процесс, и пока они выполняются показывать пользователю подождите пожалуйста.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)