Application Classe

Definizione

Fornisce static metodi e proprietà per gestire un'applicazione, ad esempio metodi per avviare e arrestare un'applicazione, elaborare Windows messaggi 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 di una casella di riepilogo in 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.

Note

La chiamata a Exit avrà esito negativo con 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 classe Application include metodi per avviare e arrestare applicazioni e thread e elaborare Windows messaggi, 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 è in un ciclo.

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

  • IMessageFilter consente di interrompere 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à

Nome Descrizione
AllowQuit

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

CommonAppDataPath

Ottiene il percorso dei dati dell'applicazione condivisi tra tutti gli utenti.

CommonAppDataRegistry

Ottiene la chiave del Registro di sistema per i dati dell'applicazione condivisi tra tutti gli utenti.

CompanyName

Ottiene il nome della società associato all'applicazione.

CurrentCulture

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

CurrentInputLanguage

Ottiene o imposta la lingua di input corrente per il thread corrente.

ExecutablePath

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

LocalUserAppDataPath

Ottiene il percorso per i dati dell'applicazione di un utente locale non mobile.

MessageLoop

Ottiene un valore che indica se è presente un ciclo di messaggi in questo thread.

OpenForms

Ottiene una raccolta di moduli aperti di proprietà dell'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 disegnando controlli con stili di visualizzazione.

SafeTopLevelCaptionFormat

Ottiene o imposta la stringa di formato da applicare alle didascalie di finestra di primo livello quando vengono visualizzate con un banner di avviso.

StartupPath

Ottiene il percorso del file eseguibile che ha avviato l'applicazione, senza includere il nome eseguibile.

UserAppDataPath

Ottiene il percorso per i dati dell'applicazione di un utente.

UserAppDataRegistry

Ottiene la chiave del Registro di sistema per i dati dell'applicazione di un utente.

UseWaitCursor

Ottiene o imposta un valore che indica se il cursore di attesa viene utilizzato per tutte le forme aperte dell'applicazione.

VisualStyleState

Ottiene un valore che specifica la modalità di applicazione degli stili di visualizzazione.

Metodi

Nome Descrizione
AddMessageFilter(IMessageFilter)

Aggiunge un filtro di messaggio per monitorare i messaggi Windows mentre vengono indirizzati alle destinazioni.

DoEvents()

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

EnableVisualStyles()

Abilita gli stili di visualizzazione per l'applicazione.

Equals(Object)

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

(Ereditato da Object)
Exit()

Informa tutte le pompe di messaggio che devono terminare e quindi chiude tutte le finestre dell'applicazione dopo l'elaborazione dei messaggi.

Exit(CancelEventArgs)

Informa tutte le pompe di messaggio che devono terminare e quindi chiude tutte le finestre dell'applicazione dopo l'elaborazione dei messaggi.

ExitThread()

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

FilterMessage(Message)

Esegue tutti i filtri rispetto a un messaggio di finestra e restituisce una copia del messaggio modificato.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OleRequired()

Inizializza OLE nel thread corrente.

OnThreadException(Exception)

Genera l'evento ThreadException.

RaiseIdle(EventArgs)

Genera l'evento Idle in scenari ospitati.

RegisterMessageLoop(Application+MessageLoopCallback)

Registra un callback per verificare se il ciclo di messaggi è in esecuzione in ambienti ospitati.

RemoveMessageFilter(IMessageFilter)

Rimuove un filtro di messaggio dal message pump dell'applicazione.

Restart()

Arresta l'applicazione e avvia immediatamente una nuova istanza.

Run()

Avvia l'esecuzione di un ciclo di messaggi dell'applicazione standard nel thread corrente, senza un modulo.

Run(ApplicationContext)

Inizia a eseguire un ciclo di messaggi dell'applicazione standard nel thread corrente, con un oggetto ApplicationContext.

Run(Form)

Inizia a eseguire un ciclo di messaggi dell'applicazione standard nel thread corrente e rende visibile il modulo specificato.

SetCompatibleTextRenderingDefault(Boolean)

Imposta il valore predefinito a livello di applicazione per la UseCompatibleTextRendering proprietà definita in determinati controlli.

SetSuspendState(PowerState, Boolean, Boolean)

Sospende o iberna il sistema o richiede che il sistema venga sospeso o ibernato.

SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean)

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

SetUnhandledExceptionMode(UnhandledExceptionMode)

Indica all'applicazione come rispondere alle eccezioni non gestite.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
UnregisterMessageLoop()

Annulla la registrazione del callback del ciclo di messaggi eseguito con RegisterMessageLoop(Application+MessageLoopCallback).

Eventi

Nome Descrizione
ApplicationExit

Si verifica quando l'applicazione sta per essere arrestata.

EnterThreadModal

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

Idle

Si verifica quando l'applicazione termina l'elaborazione e sta per entrare nello stato di inattività.

LeaveThreadModal

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

ThreadException

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

ThreadExit

Si verifica quando un thread sta per essere arrestato. Quando il thread principale per un'applicazione sta per essere arrestato, questo evento viene generato per primo, seguito da un ApplicationExit evento.

Si applica a