Какой самый быстрый способ открыть форму из формы? - PullRequest
2 голосов
/ 10 января 2009

Какой быстрый и эффективный способ открыть Form2 из Form1?

Я работаю в WinCE (ограниченная память и мощность процессора), поэтому это становится важным.

Ответы [ 4 ]

2 голосов
/ 10 января 2009

В зависимости от ваших требований, вы можете обмануть пользователей, чтобы они увидели заставку при загрузке приложения. В течение этого времени вы создаете экземпляры важных форм в фоновом режиме. Этот подход должен дать вам несколько дополнительных секунд, которые большинство пользователей не считают «медленными». Пользователи обычно признают, что приложение запускается медленнее, если впоследствии оно работает достаточно быстро.

1 голос
/ 10 января 2009

Простой способ:

OtherFormClass NewForm = new OtherFormClass();
NewForm.Show();

Если вы можете обрабатывать память, вы можете создать форму в фоновом режиме и всплывающее окно при желании. Это должно дать пользователю хороший, быстрый опыт.

Могут быть и другие оптимизации для уменьшения нагрузки на память.

0 голосов
/ 19 января 2009

Попробуйте кешировать формы. Убийственная часть - это создание формы (создание окон обрабатывает, например, запуск InitializeComponent). Если вы создаете формы при запуске приложения, вы увидите небольшое (но заметное) повышение производительности при последующем отображении форм. Это очевидно за счет времени запуска.

Итак, при запуске:

Form1 form = new Form1();
FormStore.Add(form);

и позже:

Form1 form = FormState.GetForm<Form1>();
form.Show();

Такого рода вещи.

0 голосов
/ 10 января 2009

Если вы хотите, чтобы форма открывалась быстрее с точки зрения отзывчивости пользователя И вы можете справиться с нехваткой памяти, вы можете подумать о «предварительной загрузке» формы. Создайте форму в процедуре запуска вашего приложения и кэшируйте форму в глобальной переменной (или сделайте ее одиночной и создайте экземпляр). Это увеличивает время запуска приложения, но дает вам более высокую скорость отклика при последующем отображении формы. Если в форме много элементов управления, вызывающих show, то при запуске при скрытии против формы будут также предварительно загружаться элементы управления, что дополнительно сокращает время, необходимое для последующего отображения формы.

Обычно это не рекомендуется в полной среде .net!

...