Application Classe

Definição

Fornece propriedades e métodos static para gerenciar um aplicativo, como métodos para iniciar e interromper um aplicativo, para processar mensagens do Windows 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 números em uma caixa de listagem em um formulário. Cada vez que você clica button1em , o aplicativo adiciona outro número à lista.

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

Observação

A chamada para Exit falhará em 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 Application classe tem métodos para iniciar e parar aplicativos e threads e processar mensagens do Windows, 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 o programa está em um loop.

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

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

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

Não é possível criar uma instância dessa classe.

Propriedades

AllowQuit

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

CommonAppDataPath

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

CommonAppDataRegistry

Obtém a chave do Registro dos dados de aplicativos 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 do executável.

HighDpiMode

Obtém o modo de DPI alto atual do aplicativo.

LocalUserAppDataPath

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

MessageLoop

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

OpenForms

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

ProductName

Obtém a versão do produto associada 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 às legendas da janela de nível superior quando eles são exibidos com um banner de aviso.

StartupPath

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

UserAppDataPath

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

UserAppDataRegistry

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

UseVisualStyles

Obtém um valor que indica se os estilos visuais estão habilitados para o aplicativo.

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

AddMessageFilter(IMessageFilter)

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

DoEvents()

Processa todas as mensagens do Windows atualmente na fila de mensagens.

EnableVisualStyles()

Permite estilos visuais para o aplicativo.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Exit()

Informa todos os aumentos de mensagem que devem encerrar e, em seguida, fecha todas as janelas de aplicativo após as mensagens terem sido processadas.

Exit(CancelEventArgs)

Informa todos os aumentos de mensagem que devem encerrar e, em seguida, fecha todas as janelas de aplicativo após as mensagens terem sido processadas.

ExitThread()

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

FilterMessage(Message)

Executa qualquer filtro em uma mensagem de janela e retorna uma cópia da mensagem modificada.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OleRequired()

Inicializa a 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 mensagens da bomba de mensagens do aplicativo.

Restart()

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

Run()

Inicia a execução de um loop de mensagens do aplicativo padrão no thread atual, sem nenhum formulário.

Run(ApplicationContext)

Inicia a execução de um loop de mensagens do aplicativo padrão no thread atual, com um ApplicationContext.

Run(Form)

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

SetCompatibleTextRenderingDefault(Boolean)

Define o padrão do aplicativo para a propriedade UseCompatibleTextRendering definida em certos controles.

SetDefaultFont(Font)

Define o padrão Font para o processo.

SetHighDpiMode(HighDpiMode)

Define o modo de DPI alto do processo.

SetSuspendState(PowerState, Boolean, Boolean)

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

SetUnhandledExceptionMode(UnhandledExceptionMode)

Instrui o aplicativo a como responder às exceções não tratadas.

SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean)

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

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

ApplicationExit

Ocorre quando o aplicativo está prestes a ser desligado.

EnterThreadModal

Ocorre quando o aplicativo está prestes a entrar em 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 sair do estado modal.

ThreadException

Ocorre quando uma exceção de thread não interceptada é 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 é acionado primeiro, seguido por um evento ApplicationExit.

Aplica-se a