Окружающая среда
- Windows XP SP3 x32
- Visual Studio 2005 Standard
- Устройство / платформа: Honeywell Dolphin 9500 с Windows Mobile / Pocket PC 2003
- NET Framework 1.1 и .NET Compact Framework Framework 1.0 SP3
Цель
В настоящее время у меня есть приложение с 3 формами. Первая форма - это что-то вроде заставки, но я еще не решил, будет ли пользователю разрешено ее снова открывать. Вторая форма представляет собой сводный список элементов, которые будут отображаться один за другим в третьей форме.
Я бы хотел иметь возможность открыть первую форму и дождаться нажатия кнопки. Когда эта кнопка нажата, я хотел бы открыть другую форму и избавиться от первой. Как только элемент выбран из списка на втором экране, я хотел бы отобразить третью форму и, возможно, избавиться от второй формы. Пользователь также должен иметь возможность повторно открыть вторую форму, чтобы выбрать другой элемент для отображения в третьей форме. При этом, я, вероятно, не хочу избавляться от второй формы. Тем не менее, на этом устройстве проблема с памятью (64 МБ распределяется между хранилищем и системной памятью), поэтому я хочу распоряжаться вещами, когда могу.
Проблема
Вероятно, вы можете догадаться об этом по названию, но когда я закрываю / удаляю свою первую форму, все приложение закрывается. Теперь, когда я немного ознакомился с этим вопросом, я знаю, что это связано с этой строкой: Application.Run (new Form1 ()); или как там будет названа моя форма.
Вещи, которые я пробовал
- this.Dispose () - закрывает все приложение
- this.Close () - закрывает все приложение
- Я также видел, как несколько человек рекомендовали одному создать экземпляр своей формы (Form f1 = new MyForm ();), показать ее (.Show ();), а затем использовать Application.Run (); без аргументов. Когда я пытаюсь это сделать, я получаю «Нет перегрузки для метода« Выполнить »принимает« 0 »аргументов»
- ApplicationContext не существует в версии 1.1 .NET Framework
Код
static void Main()
{
Application.Run(new Welcome());
}
private void btnBegin_Click(object sender, EventArgs e)
{
Form wof = new WorkOrderForm();
wof.Show();
wof.BringToFront();
// Here is where I would like to dispose of the Welcome form
}