Практическое руководство. Скрытие начальной формы Windows Forms
Обновлен: Ноябрь 2007
Чтобы скрыть главную форму приложения Windows при запуске приложения, необходимо переместить логику запуска приложения в отдельный класс. Его свойству Visible нельзя просто присвоить значение false.
После разделения времени существования приложения и времени существования формы можно показать форму (и скрыть ее), потому что приложение закончит работу, когда "закроется" класс", используемый для запуска приложения.
Примечание. |
---|
Так как при выполнении кода модуль скрыт, процедура, приведенная ниже, содержит этап добавления в модуль запуска окна сообщения, которое показывает, что приложение запущено. |
Чтобы скрыть форму при запуске
Выполните одно из следующих действий.
В Visual Basic добавьте модуль в приложение Windows. Для этого щелкните проект правой кнопкой мыши и выберите команду Добавить модуль.
В Visual C# создайте новый класс.
В Visual C++ откройте файл Form1.cpp приложения Windows.
Дополнительные сведения о создании приложения Windows см. в разделе Практическое руководство. Создание проекта приложения Windows.
В модуле или классе создайте подпрограмму Main, которая может действовать в проекте как объект запуска.
В следующем фрагменте кода представлен один из способов.
Sub Main() ' Instantiate a new instance of Form1. Dim f1 as New Form1() ' Display a messagebox. This shows the application is running, ' yet there is nothing shown to the user. This is the point at ' which you customize your form. System.Windows.Forms.MessageBox.Show( _ "The application is running now, but no forms have been shown.") ' Customize the form. f1.Text = "Running Form" ' Show the instance of the form modally. f1.ShowDialog() End Sub
// All methods must be contained in a class. // This class is added to the namespace containing the Form1 class. class MainApplication { public static void Main() { // Instantiate a new instance of Form1. Form1 f1 = new Form1(); // Display a messagebox. This shows the application // is running, yet there is nothing shown to the user. // This is the point at which you customize your form. System.Windows.Forms.MessageBox.Show("The application " + "is running now, but no forms have been shown."); // Customize the form. f1.Text = "Running Form"; // Show the instance of the form modally. f1.ShowDialog(); } }
// You can use this Mian method in the Program class (Program.jsl): public static void main(String[] args) { // Instantiate a new instance of Form1. Form1 f1 = new Form1(); // Display a messagebox. This shows the application // is running, yet there is nothing shown to the user. // This is the point at which you customize your form. System.Windows.Forms.MessageBox.Show("The application " + "is running now, but no forms have been shown."); // Customize the form. f1.set_Text("Running Form"); // Show the instance of the form modally. f1.ShowDialog(); }
void Main() { // Instantiate a new instance of Form1. Form1^ f1 = gcnew Form1(); // Display a messagebox. This shows the application // is running, yet there is nothing shown to the user. // This is the point at which you customize your form. System::Windows::Forms::MessageBox::Show( "The application is running now, " "but no forms have been shown."); // Customize the form. f1->Text = "Running Form"; // Show the instance of the form modally. f1->ShowDialog(); }
Примечание. Окно сообщения в примере, представленном выше, определено c помощью полного пространства имен, потому что созданный модуль, в отличие от стандартной формы Windows Forms, не импортирует по умолчанию какие-либо пространства имен. Дополнительные сведения об импорте пространств имен см. в разделах Ссылки и оператор Imports (Visual Basic), Директива using (Справочник по C#) (Visual C#) или using Directive (C++) (Visual C++). Application.Run() начнет загрузку сообщения, что необходимо для поведения некоторых приложений и может повлиять на поведение формы во время определенных этапов времени существования приложения, например при завершении работы. Дополнительные сведения см. в разделе Метод Application.Run.
Измените объект запуска проекта: используйте Sub Main вместо Form1.
Для Visual C# используйте в качестве имени объект запуска имя класса из предыдущего примера кода. Дополнительные сведения см. в разделах Практическое руководство. Выбор начальной формы в приложении Windows, и Практическое руководство. Изменение автоматически запускаемого объекта для приложения (Visual Basic).
Примечание. Пропустите этот шаг для приложений Windows в Visual C++.
Нажмите клавишу F5 для запуска проекта.
Когда приложение запущено, первым выполняется код в Main() , а экземпляр формы Form1 остается скрытым до тех пор, пока не выполнится код, отвечающий за отображение формы. Это позволяет выполнять любые действия в экземпляре Form1 в фоновом режиме без уведомления пользователя.
См. также
Задачи
Практическое руководство. Отображение модальных и немодальных форм Windows Forms
Практическое руководство. Установка расположения форм Windows Forms на экране