Como: Criar um formulário de inicialização do Windows invisível
Para tornar o formulário principal de um aplicativo baseado no WIndws invisível quando o aplicativo for iniciado, você deverá mover lógica de inicialização do aplicativo para uma classe separada.Não é possível simplesmente definir sua property Visible como false.
Após você ter separado o tempo de vida do aplicativo a partir de tempo de vida do formulário, você pode tornar os formulários visíveis (e invisível), porque o aplicativo será encerrado quando você "fechar" a classe que foi usada para inicialização do aplicativo.
Observação: |
---|
Porque um mod ule é invisível quando seu código está sendo executado, o procedimento a seguir inclui uma etapa para adicionar uma caixa de mensagem para o módulo de inicialização para simplesmente demonstrar que o aplicativo está sendo executado. |
Para definir um formulário para ser invisível ao seu início
Siga um destes procedimentos:
Em Visual Basic, adicione um módulo para a sua aplicação baseada no Windows, clicando com o botão direito do mouse no projeto e selecionando Add Module.
Em Visual C#, crie uma nova classe.
Em Visual C++, abra Form1.cpp da sua aplicação baseado em Windows.
Para obter mais informações sobre criar uma aplicação baseada em Windows coonsulte Como: Criar um projeto de aplicativos do Windows.
Dentro do módulo ou classe, desenvolva uma sub-rotina Main que pode atuar como o objeto de inicialização para o projeto.
O exemplo de código a seguir mostra como você pode abordar esse.
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(); }
Observação: A caixa de mensagem no exemplo de código anterior é especificado com um namespace totalmente qualificado porque o módulo criado, diferentemente de um formulário Windows padrão, não importa quaisquer namespaces por padrão.Para obter mais informações sobre como importar os namespaces, consulte Referências e as declarações Imports (Visual Basic), o usando diretiva (Referência C#) (Visual C#), ou o Using Directive (C++) (Visual C++). Application.Run() será iniciada a transferência de mensagem, que é vital para o comportamento de alguns aplicativos e pode afetar comportamento do formulário durante determinados períodos no ciclo de vida do aplicativo, sistema autônomo no desligado. Para obter mais informações, consulte Application.Run Method.
Altere o objeto de inicialização para o projeto a ser Sub Main INSTEAD OF Form1.
Para Visual C#,defina o objeto de inicialização com o nome da classe no exemplo de código anterior.Para obter mais informações, consulte Como: Escolher o formulário de inicialização em um aplicativos do Windows, bem como Como: Alterar o objeto de inicialização para um aplicativo (Visual Basic).
Observação: Ignorar esta etapa para o aplicativo baseado no Windows s em Visual C++.
Pressione F5 para executar o projeto.
Quando o aplicativo é executado, o código de Main() executa primeiro enquanto a instância de Form1 perdura, oculto, até que o código da apresentação é executado.Isso permite que você faça tudo o que você gosta dentro de instância de Form1 no segundo plano sem o conhecimento do usuário.
Consulte também
Tarefas
Como: Exibir modal e sem janela restrita Windows Forms
Como: conjunto o local da tela do Windows Forms