Application Classe

Definição

Fornece static métodos e propriedades para gerenciar um aplicativo, como métodos para iniciar e parar um aplicativo, processar Windows mensagens e propriedades para obter informações sobre um aplicativo. Essa classe não pode ser herdada.

public ref class Application sealed
public sealed class Application
type Application = class
Public NotInheritable Class Application
Herança
Application

Exemplos

O exemplo de código a seguir lista os números em uma caixa de listagem em um formulário. Cada vez que você clica button1, o aplicativo adiciona outro número à lista.

O Main método chama Run para iniciar o aplicativo, que cria o formulário listBox1 e button1. Quando o usuário clica button1, o button1_Click método exibe um MessageBox. Se o usuário clicar No no MessageBoxmétodo, o button1_Click método adicionará um número à lista. Se o usuário clicar, o aplicativo chamará Exit para processar todas as mensagens restantes Yesna fila e, em seguida, encerrar.

Note

A chamada falhará Exit na confiança parcial.

public ref class Form1: public System::Windows::Forms::Form
{
private:
   Button^ button1;
   ListBox^ listBox1;

public:
   Form1()
   {
      button1 = gcnew Button;
      button1->Left = 200;
      button1->Text =  "Exit";
      button1->Click += gcnew EventHandler( this, &Form1::button1_Click );
      listBox1 = gcnew ListBox;
      this->Controls->Add( button1 );
      this->Controls->Add( listBox1 );
   }

private:
   void Form1::button1_Click( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      int count = 1;
      
      // Check to see whether the user wants to exit 
      // the application. If not, add a number to the list box.
      while ( MessageBox::Show(  "Exit application?",  "", MessageBoxButtons::YesNo ) == ::DialogResult::No )
      {
         listBox1->Items->Add( count );
         count += 1;
      }

      
      // The user wants to exit the application. 
      // Close everything down.
      Application::Exit();
   }

};

int main()
{
   
   // Starts the application.
   Application::Run( gcnew Form1 );
}
public class Form1 : Form
{
    [STAThread]
    public static void Main()
    {
        // Start the application.
        Application.Run(new Form1());
    }

    private Button button1;
    private ListBox listBox1;

    public Form1()
    {
        button1 = new Button();
        button1.Left = 200;
        button1.Text = "Exit";
        button1.Click += new EventHandler(button1_Click);

        listBox1 = new ListBox();
        this.Controls.Add(button1);
        this.Controls.Add(listBox1);
    }

    private void button1_Click(object sender, System.EventArgs e)
    {
        int count = 1;
        // Check to see whether the user wants to exit the application.
        // If not, add a number to the list box.
        while (MessageBox.Show("Exit application?", "",
            MessageBoxButtons.YesNo)==DialogResult.No)
        {
            listBox1.Items.Add(count);
            count += 1;
        }

        // The user wants to exit the application.
        // Close everything down.
        Application.Exit();
    }
}
Public Class Form1 
    Inherits Form

    <STAThread()> _
     Shared Sub Main()
        ' Start the application.
        Application.Run(New Form1)
    End Sub

    Private WithEvents button1 As Button
    Private WithEvents listBox1 As ListBox

    Public Sub New()
        button1 = New Button
        button1.Left = 200
        button1.Text = "Exit"

        listBox1 = New ListBox
        Me.Controls.Add(button1)
        Me.Controls.Add(listBox1)
    End Sub

    Private Sub button1_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles button1.Click
        Dim count As Integer = 1
        ' Check to see whether the user wants to exit the application.
        ' If not, add a number to the list box.
        While (MessageBox.Show("Exit application?", "", _
            MessageBoxButtons.YesNo) = DialogResult.No)

            listBox1.Items.Add(count)
            count += 1

        End While

        ' The user wants to exit the application. 
        ' Close everything down.
        Application.Exit()
    End Sub

End Class

Comentários

A classe Application tem métodos para iniciar e parar aplicativos e threads e processar Windows mensagens, da seguinte maneira:

  • Run inicia um loop de mensagem de aplicativo no thread atual e, opcionalmente, torna um formulário visível.

  • Exit ou ExitThread interrompe um loop de mensagem.

  • DoEvents processa mensagens enquanto seu programa está em um loop.

  • AddMessageFilter adiciona um filtro de mensagem à bomba de mensagem do aplicativo para monitorar mensagens Windows.

  • IMessageFilter permite impedir que um evento seja gerado ou execute operações especiais antes de invocar um manipulador de eventos.

Essa classe tem CurrentCulture e CurrentInputLanguage propriedades para obter ou definir informações de cultura para o thread atual.

Você não pode criar uma instância dessa classe.

Propriedades

Nome Description
AllowQuit

Obtém um valor que indica se o chamador pode sair desse aplicativo.

CommonAppDataPath

Obtém o caminho para os dados do aplicativo compartilhados entre todos os usuários.

CommonAppDataRegistry

Obtém a chave do Registro para os dados do aplicativo compartilhados entre todos os usuários.

CompanyName

Obtém o nome da empresa associado ao aplicativo.

CurrentCulture

Obtém ou define as informações de cultura do thread atual.

CurrentInputLanguage

Obtém ou define o idioma de entrada atual para o thread atual.

ExecutablePath

Obtém o caminho para o arquivo executável que iniciou o aplicativo, incluindo o nome executável.

LocalUserAppDataPath

Obtém o caminho para os dados do aplicativo de um usuário local que não está em roaming.

MessageLoop

Obtém um valor que indica se existe um loop de mensagem nesse thread.

OpenForms

Obtém uma coleção de formulários abertos pertencentes ao aplicativo.

ProductName

Obtém o nome do produto associado a este aplicativo.

ProductVersion

Obtém a versão do produto associada a este aplicativo.

RenderWithVisualStyles

Obtém um valor que especifica se o aplicativo atual está desenhando controles com estilos visuais.

SafeTopLevelCaptionFormat

Obtém ou define a cadeia de caracteres de formato a ser aplicada a legendas de janela de nível superior quando elas são exibidas com uma faixa de aviso.

StartupPath

Obtém o caminho para o arquivo executável que iniciou o aplicativo, não incluindo o nome executável.

UserAppDataPath

Obtém o caminho para os dados do aplicativo de um usuário.

UserAppDataRegistry

Obtém a chave do Registro para os dados do aplicativo de um usuário.

UseWaitCursor

Obtém ou define se o cursor de espera é usado para todos os formulários abertos do aplicativo.

VisualStyleState

Obtém um valor que especifica como os estilos visuais são aplicados às janelas do aplicativo.

Métodos

Nome Description
AddMessageFilter(IMessageFilter)

Adiciona um filtro de mensagem para monitorar Windows mensagens à medida que são roteadas para seus destinos.

DoEvents()

Processa todas as mensagens Windows atualmente na fila de mensagens.

EnableVisualStyles()

Habilita estilos visuais para o aplicativo.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Exit()

Informa a todas as bombas de mensagem que elas devem ser encerradas e, em seguida, fecha todas as janelas do aplicativo depois que as mensagens são processadas.

Exit(CancelEventArgs)

Informa a todas as bombas de mensagem que elas devem ser encerradas e, em seguida, fecha todas as janelas do aplicativo depois que as mensagens são processadas.

ExitThread()

Sai do loop de mensagem no thread atual e fecha todas as janelas no thread.

FilterMessage(Message)

Executa todos os filtros em uma mensagem de janela e retorna uma cópia da mensagem modificada.

GetHashCode()

Serve como a função hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
OleRequired()

Inicializa o OLE no thread atual.

OnThreadException(Exception)

Aciona o evento ThreadException.

RaiseIdle(EventArgs)

Gera o Idle evento em cenários hospedados.

RegisterMessageLoop(Application+MessageLoopCallback)

Registra um retorno de chamada para verificar se o loop de mensagens está em execução em ambientes hospedados.

RemoveMessageFilter(IMessageFilter)

Remove um filtro de mensagem da bomba de mensagem do aplicativo.

Restart()

Desliga o aplicativo e inicia uma nova instância imediatamente.

Run()

Começa a executar um loop de mensagem de aplicativo padrão no thread atual, sem um formulário.

Run(ApplicationContext)

Começa a executar um loop de mensagem de aplicativo padrão no thread atual, com um ApplicationContext.

Run(Form)

Começa a executar um loop de mensagem de aplicativo padrão no thread atual e torna o formulário especificado visível.

SetCompatibleTextRenderingDefault(Boolean)

Define o padrão de todo o aplicativo para a UseCompatibleTextRendering propriedade definida em determinados controles.

SetSuspendState(PowerState, Boolean, Boolean)

Suspende ou hiberna o sistema ou solicita que o sistema seja suspenso ou hibernado.

SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean)

Instrui o aplicativo como responder a exceções sem tratamento, opcionalmente aplicando um comportamento específico do thread.

SetUnhandledExceptionMode(UnhandledExceptionMode)

Instrui o aplicativo como responder a exceções sem tratamento.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
UnregisterMessageLoop()

Cancela o registro do retorno de chamada de loop de mensagem feito com RegisterMessageLoop(Application+MessageLoopCallback).

Eventos

Nome Description
ApplicationExit

Ocorre quando o aplicativo está prestes a ser desligado.

EnterThreadModal

Ocorre quando o aplicativo está prestes a inserir um estado modal.

Idle

Ocorre quando o aplicativo termina o processamento e está prestes a entrar no estado ocioso.

LeaveThreadModal

Ocorre quando o aplicativo está prestes a deixar um estado modal.

ThreadException

Ocorre quando uma exceção de thread não rastreada é gerada.

ThreadExit

Ocorre quando um thread está prestes a ser desligado. Quando o thread principal de um aplicativo está prestes a ser desligado, esse evento é gerado primeiro, seguido por um ApplicationExit evento.

Aplica-se a