Application Classe

Definizione

Fornisce metodi e proprietà static per la gestione di un'applicazione, ad esempio metodi per l'avvio e l'arresto di un'applicazione o per l'elaborazione di messaggi Windows e proprietà per ottenere informazioni su un'applicazione. La classe non può essere ereditata.

public ref class Application sealed
public sealed class Application
type Application = class
Public NotInheritable Class Application
Ereditarietà
Application

Esempio

Nell'esempio di codice seguente vengono elencati i numeri in una casella di riepilogo di un modulo. Ogni volta che si fa clic su button1, l'applicazione aggiunge un altro numero all'elenco.

Il Main metodo chiama Run per avviare l'applicazione, che crea il form listBox1 e button1. Quando l'utente fa clic su button1, il button1_Click metodo visualizza un oggetto MessageBox. Se l'utente fa clic No su MessageBox, il button1_Click metodo aggiunge un numero all'elenco. Se l'utente fa clic su Yes, l'applicazione chiama Exit per elaborare tutti i messaggi rimanenti nella coda e quindi per uscire.

Nota

La chiamata a Exit avrà esito negativo in attendibilità parziale.

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

Commenti

La Application classe include metodi per avviare e arrestare applicazioni e thread e per elaborare i messaggi di Windows, come indicato di seguito:

  • Run avvia un ciclo di messaggi dell'applicazione nel thread corrente e, facoltativamente, rende visibile un modulo.

  • Exit o ExitThread arresta un ciclo di messaggi.

  • DoEvents elabora i messaggi mentre il programma si trova in un ciclo.

  • AddMessageFilter aggiunge un filtro messaggi al message pump dell'applicazione per monitorare i messaggi di Windows.

  • IMessageFilter consente di arrestare la generazione di un evento o di eseguire operazioni speciali prima di richiamare un gestore eventi.

Questa classe ha CurrentCulture proprietà e CurrentInputLanguage per ottenere o impostare le informazioni sulle impostazioni cultura per il thread corrente.

Non è possibile creare un'istanza di questa classe.

Proprietà

AllowQuit

Ottiene un valore che indica se il chiamante può chiudere l'applicazione.

CommonAppDataPath

Ottiene il percorso relativo ai dati dell'applicazione condivisi fra tutti gli utenti.

CommonAppDataRegistry

Ottiene la chiave del Registro di sistema relativa ai dati dell'applicazione condivisi fra tutti gli utenti.

CompanyName

Ottiene il nome della società associato all'applicazione.

CurrentCulture

Ottiene o imposta le informazioni specifiche delle impostazioni cultura per il thread corrente.

CurrentInputLanguage

Ottiene o imposta il linguaggio di input corrente per il thread in esecuzione.

ExecutablePath

Ottiene il percorso del file eseguibile che ha avviato l'applicazione, comprensivo del nome dell'eseguibile.

HighDpiMode

Ottiene la modalità DPI alta dell'applicazione.

LocalUserAppDataPath

Ottiene il percorso relativo ai dati dell'applicazione di un utente locale e non comune.

MessageLoop

Ottiene un valore che indica se esiste un ciclo di messaggi sul thread corrente.

OpenForms

Ottiene una raccolta di tutti i form aperti che appartengono all'applicazione.

ProductName

Ottiene il nome del prodotto associato all'applicazione.

ProductVersion

Ottiene la versione del prodotto associata all'applicazione.

RenderWithVisualStyles

Ottiene un valore che specifica se l'applicazione corrente sta creando i controlli con gli stili visivi.

SafeTopLevelCaptionFormat

Ottiene o imposta la stringa di formato da applicare ai titoli di finestre di primo livello quando vengono visualizzati con un'intestazione di avviso.

StartupPath

Ottiene il percorso del file eseguibile che ha avviato l'applicazione, non comprensivo del nome dell'eseguibile.

UserAppDataPath

Ottiene il percorso relativo ai dati dell'applicazione di un utente.

UserAppDataRegistry

Ottiene la chiave del Registro di sistema relativa ai dati dell'applicazione di un utente.

UseVisualStyles

Ottiene un valore che indica se gli stili di visualizzazione sono abilitati per l'applicazione.

UseWaitCursor

Ottiene o imposta se il cursore di attesa deve essere usato per tutti i form aperti dell'applicazione.

VisualStyleState

Ottiene un valore che specifica il modo in cui applicare gli stili visivi alle finestre dell'applicazione.

Metodi

AddMessageFilter(IMessageFilter)

Aggiunge un filtro messaggi per il monitoraggio dei messaggi di Windows al momento dell'indirizzamento alle rispettive destinazioni.

DoEvents()

Elabora tutti i messaggi di Windows attualmente presenti nella coda di messaggi.

EnableVisualStyles()

Abilita gli stili visivi per l'applicazione.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Exit()

Indica a tutti i message pump di terminare l'esecuzione, quindi, una volta elaborati i messaggi, chiude tutte le finestre dell'applicazione.

Exit(CancelEventArgs)

Indica a tutti i message pump di terminare l'esecuzione, quindi, una volta elaborati i messaggi, chiude tutte le finestre dell'applicazione.

ExitThread()

Esce dal ciclo di messaggi sul thread corrente e chiude tutte le finestre sul thread.

FilterMessage(Message)

Esegue eventuali filtri su una finestra di messaggio, quindi restituisce una copia del messaggio modificato.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OleRequired()

Inizializza OLE sul thread corrente.

OnThreadException(Exception)

Genera l'evento ThreadException.

RaiseIdle(EventArgs)

Genera l'evento Idle negli scenari inclusi.

RegisterMessageLoop(Application+MessageLoopCallback)

Registra un callback per verificare se il ciclo di messaggi viene eseguito in ambienti host.

RemoveMessageFilter(IMessageFilter)

Rimuove un filtro messaggi dal message pump dell'applicazione.

Restart()

Chiude l'applicazione e avvia immediatamente una nuova istanza.

Run()

Avvia l'esecuzione di un ciclo di messaggi dell'applicazione standard sul thread corrente senza un form.

Run(ApplicationContext)

Avvia l'esecuzione di un ciclo di messaggi dell'applicazione standard sul thread corrente con un oggetto ApplicationContext.

Run(Form)

Avvia l'esecuzione di un ciclo di messaggi dell'applicazione standard sul thread corrente e rende visibile il form specificato.

SetCompatibleTextRenderingDefault(Boolean)

Imposta l'impostazione predefinita a livello di applicazione per la UseCompatibleTextRendering proprietà definita in determinati controlli.

SetDefaultFont(Font)

Imposta l'impostazione predefinita Font per il processo.

SetHighDpiMode(HighDpiMode)

Imposta la modalità DPI alta del processo.

SetSuspendState(PowerState, Boolean, Boolean)

Sospende o mette in stato di ibernazione il sistema oppure ne richiede la sospensione o l’ibernazione.

SetUnhandledExceptionMode(UnhandledExceptionMode)

Indica all'applicazione come comportarsi in caso di eccezioni non gestite.

SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean)

Indica all'applicazione come rispondere alle eccezioni non gestite, applicando eventualmente il comportamento specifico del thread.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
UnregisterMessageLoop()

Annulla la registrazione del callback del ciclo di messaggi effettuato con l'elemento RegisterMessageLoop(Application+MessageLoopCallback).

Eventi

ApplicationExit

Si verifica quando l'applicazione è in fase di chiusura.

EnterThreadModal

Si verifica quando l'applicazione sta per entrare in uno stato modale.

Idle

Si verifica quando l'applicazione conclude l'elaborazione e sta per entrare nello stato inattivo.

LeaveThreadModal

Si verifica quando l'applicazione sta per uscire da uno stato modale.

ThreadException

Si verifica quando viene generata un'eccezione non intercettata dal thread.

ThreadExit

Si verifica quando un thread è in fase di chiusura. Nella fase di chiusura del thread principale di un'applicazione viene generato prima questo evento, quindi l'evento ApplicationExit.

Si applica a