Application Application Application Application Class

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.Provides static methods and properties to manage an application, such as methods to start and stop an application, to process Windows messages, and properties to get information about an application. Questa classe non può essere ereditata.This class cannot be inherited.

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

Esempi

Nell'esempio di codice seguente vengono elencati i numeri in una casella di riepilogo in un form.The following code example lists numbers in a list box on a form. Ogni volta che si fa clic su button1, l'applicazione aggiunge un altro numero all'elenco.Each time you click button1, the application adds another number to the list.

Il metodo Main chiama Run per avviare l'applicazione, che crea il form, listBox1 e button1.The Main method calls Run to start the application, which creates the form, listBox1 and button1. Quando l'utente fa clic su button1, il metodo button1_Click Visualizza un MessageBox.When the user clicks button1, the button1_Click method displays a MessageBox. Se l'utente fa clic su No sul MessageBox, il metodo button1_Click aggiunge un numero all'elenco.If the user clicks No on the MessageBox, the button1_Click method adds a number to the list. Se l'utente fa clic su Yes, l'applicazione chiama Exit per elaborare tutti i messaggi rimanenti nella coda e quindi uscire.If the user clicks Yes, the application calls Exit to process all remaining messages in the queue and then to quit.

Nota

La chiamata a Exit avrà esito negativo in attendibilità parziale.The call to Exit will fail in partial trust.

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 dispone di metodi per avviare e arrestare le applicazioni e i thread e per elaborare i messaggi di Windows, come indicato di seguito:The Application class has methods to start and stop applications and threads, and to process Windows messages, as follows:

  • Run avvia un ciclo di messaggi dell'applicazione sul thread corrente e, facoltativamente, rende visibile un form.Run starts an application message loop on the current thread and, optionally, makes a form visible.

  • Exit o ExitThread arresta un ciclo di messaggi.Exit or ExitThread stops a message loop.

  • DoEvents elabora i messaggi mentre il programma si trova in un ciclo.DoEvents processes messages while your program is in a loop.

  • AddMessageFilter aggiunge un filtro messaggi al message pump dell'applicazione per monitorare i messaggi di Windows.AddMessageFilter adds a message filter to the application message pump to monitor Windows messages.

  • IMessageFilter consente di arrestare la generazione di un evento o di eseguire operazioni speciali prima di richiamare un gestore eventi.IMessageFilter lets you stop an event from being raised or perform special operations before invoking an event handler.

Questa classe dispone di proprietà CurrentCulture e CurrentInputLanguage per ottenere o impostare le informazioni sulle impostazioni cultura per il thread corrente.This class has CurrentCulture and CurrentInputLanguage properties to get or set culture information for the current thread.

Non è possibile creare un'istanza di questa classe.You cannot create an instance of this class.

Proprietà

AllowQuit AllowQuit AllowQuit AllowQuit

Ottiene un valore che indica se il chiamante può chiudere l'applicazione.Gets a value indicating whether the caller can quit this application.

CommonAppDataPath CommonAppDataPath CommonAppDataPath CommonAppDataPath

Ottiene il percorso relativo ai dati dell'applicazione condivisi fra tutti gli utenti.Gets the path for the application data that is shared among all users.

CommonAppDataRegistry CommonAppDataRegistry CommonAppDataRegistry CommonAppDataRegistry

Ottiene la chiave del Registro di sistema relativa ai dati dell'applicazione condivisi fra tutti gli utenti.Gets the registry key for the application data that is shared among all users.

CompanyName CompanyName CompanyName CompanyName

Ottiene il nome della società associato all'applicazione.Gets the company name associated with the application.

CurrentCulture CurrentCulture CurrentCulture CurrentCulture

Ottiene o imposta le informazioni specifiche delle impostazioni cultura per il thread corrente.Gets or sets the culture information for the current thread.

CurrentInputLanguage CurrentInputLanguage CurrentInputLanguage CurrentInputLanguage

Ottiene o imposta il linguaggio di input corrente per il thread in esecuzione.Gets or sets the current input language for the current thread.

ExecutablePath ExecutablePath ExecutablePath ExecutablePath

Ottiene il percorso del file eseguibile che ha avviato l'applicazione, comprensivo del nome dell'eseguibile.Gets the path for the executable file that started the application, including the executable name.

HighDpiMode HighDpiMode HighDpiMode HighDpiMode

Ottiene la modalità DPI alta dell'applicazione.Gets the current high DPI mode for the application.

LocalUserAppDataPath LocalUserAppDataPath LocalUserAppDataPath LocalUserAppDataPath

Ottiene il percorso relativo ai dati dell'applicazione di un utente locale e non comune.Gets the path for the application data of a local, non-roaming user.

MessageLoop MessageLoop MessageLoop MessageLoop

Ottiene un valore che indica se esiste un ciclo di messaggi sul thread corrente.Gets a value indicating whether a message loop exists on this thread.

OpenForms OpenForms OpenForms OpenForms

Ottiene una raccolta di tutti i form aperti che appartengono all'applicazione.Gets a collection of open forms owned by the application.

ProductName ProductName ProductName ProductName

Ottiene il nome del prodotto associato all'applicazione.Gets the product name associated with this application.

ProductVersion ProductVersion ProductVersion ProductVersion

Ottiene la versione del prodotto associata all'applicazione.Gets the product version associated with this application.

RenderWithVisualStyles RenderWithVisualStyles RenderWithVisualStyles RenderWithVisualStyles

Ottiene un valore che specifica se l'applicazione corrente sta creando i controlli con gli stili visivi.Gets a value specifying whether the current application is drawing controls with visual styles.

SafeTopLevelCaptionFormat SafeTopLevelCaptionFormat SafeTopLevelCaptionFormat 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.Gets or sets the format string to apply to top-level window captions when they are displayed with a warning banner.

StartupPath StartupPath StartupPath StartupPath

Ottiene il percorso del file eseguibile che ha avviato l'applicazione, non comprensivo del nome dell'eseguibile.Gets the path for the executable file that started the application, not including the executable name.

UserAppDataPath UserAppDataPath UserAppDataPath UserAppDataPath

Ottiene il percorso relativo ai dati dell'applicazione di un utente.Gets the path for the application data of a user.

UserAppDataRegistry UserAppDataRegistry UserAppDataRegistry UserAppDataRegistry

Ottiene la chiave del Registro di sistema relativa ai dati dell'applicazione di un utente.Gets the registry key for the application data of a user.

UseVisualStyles UseVisualStyles UseVisualStyles UseVisualStyles

Ottiene un valore che indica se gli stili di visualizzazione sono abilitati per l'applicazione.Gets a value that indicates whether visual styles are enabled for the application.

UseWaitCursor UseWaitCursor UseWaitCursor UseWaitCursor

Ottiene o imposta se il cursore di attesa deve essere usato per tutti i form aperti dell'applicazione.Gets or sets whether the wait cursor is used for all open forms of the application.

VisualStyleState VisualStyleState VisualStyleState VisualStyleState

Ottiene un valore che specifica il modo in cui applicare gli stili visivi alle finestre dell'applicazione.Gets a value that specifies how visual styles are applied to application windows.

Metodi

AddMessageFilter(IMessageFilter) AddMessageFilter(IMessageFilter) AddMessageFilter(IMessageFilter) AddMessageFilter(IMessageFilter)

Aggiunge un filtro messaggi per il monitoraggio dei messaggi di Windows al momento dell'indirizzamento alle rispettive destinazioni.Adds a message filter to monitor Windows messages as they are routed to their destinations.

DoEvents() DoEvents() DoEvents() DoEvents()

Elabora tutti i messaggi di Windows attualmente presenti nella coda di messaggi.Processes all Windows messages currently in the message queue.

EnableVisualStyles() EnableVisualStyles() EnableVisualStyles() EnableVisualStyles()

Abilita gli stili visivi per l'applicazione.Enables visual styles for the application.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Exit() Exit() Exit() Exit()

Indica a tutti i message pump di terminare l'esecuzione, quindi, una volta elaborati i messaggi, chiude tutte le finestre dell'applicazione.Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.

Exit(CancelEventArgs) Exit(CancelEventArgs) Exit(CancelEventArgs) Exit(CancelEventArgs)

Indica a tutti i message pump di terminare l'esecuzione, quindi, una volta elaborati i messaggi, chiude tutte le finestre dell'applicazione.Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.

ExitThread() ExitThread() ExitThread() ExitThread()

Esce dal ciclo di messaggi sul thread corrente e chiude tutte le finestre sul thread.Exits the message loop on the current thread and closes all windows on the thread.

FilterMessage(Message) FilterMessage(Message) FilterMessage(Message) FilterMessage(Message)

Esegue eventuali filtri su una finestra di messaggio, quindi restituisce una copia del messaggio modificato.Runs any filters against a window message, and returns a copy of the modified message.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
OleRequired() OleRequired() OleRequired() OleRequired()

Inizializza OLE sul thread corrente.Initializes OLE on the current thread.

OnThreadException(Exception) OnThreadException(Exception) OnThreadException(Exception) OnThreadException(Exception)

Genera l'evento ThreadException.Raises the ThreadException event.

RaiseIdle(EventArgs) RaiseIdle(EventArgs) RaiseIdle(EventArgs) RaiseIdle(EventArgs)

Genera l'evento Idle negli scenari inclusi.Raises the Idle event in hosted scenarios.

RegisterMessageLoop(Application+MessageLoopCallback) RegisterMessageLoop(Application+MessageLoopCallback) RegisterMessageLoop(Application+MessageLoopCallback) RegisterMessageLoop(Application+MessageLoopCallback)

Registra un callback per verificare se il ciclo di messaggi viene eseguito in ambienti host.Registers a callback for checking whether the message loop is running in hosted environments.

RemoveMessageFilter(IMessageFilter) RemoveMessageFilter(IMessageFilter) RemoveMessageFilter(IMessageFilter) RemoveMessageFilter(IMessageFilter)

Rimuove un filtro messaggi dal message pump dell'applicazione.Removes a message filter from the message pump of the application.

Restart() Restart() Restart() Restart()

Chiude l'applicazione e avvia immediatamente una nuova istanza.Shuts down the application and starts a new instance immediately.

Run() Run() Run() Run()

Avvia l'esecuzione di un ciclo di messaggi dell'applicazione standard sul thread corrente senza un form.Begins running a standard application message loop on the current thread, without a form.

Run(ApplicationContext) Run(ApplicationContext) Run(ApplicationContext) Run(ApplicationContext)

Avvia l'esecuzione di un ciclo di messaggi dell'applicazione standard sul thread corrente con un oggetto ApplicationContext.Begins running a standard application message loop on the current thread, with an ApplicationContext.

Run(Form) Run(Form) Run(Form) Run(Form)

Avvia l'esecuzione di un ciclo di messaggi dell'applicazione standard sul thread corrente e rende visibile il form specificato.Begins running a standard application message loop on the current thread, and makes the specified form visible.

SetCompatibleTextRenderingDefault(Boolean) SetCompatibleTextRenderingDefault(Boolean) SetCompatibleTextRenderingDefault(Boolean) SetCompatibleTextRenderingDefault(Boolean)

Imposta il valore predefinito per l'intera applicazione relativo alla proprietà UseCompatibleTextRendering definita su determinati controlli.Sets the application-wide default for the UseCompatibleTextRendering property defined on certain controls.

SetHighDpiMode(HighDpiMode) SetHighDpiMode(HighDpiMode) SetHighDpiMode(HighDpiMode) SetHighDpiMode(HighDpiMode)

Imposta la modalità DPI alta del processo.Sets the high DPI mode of the process.

SetSuspendState(PowerState, Boolean, Boolean) SetSuspendState(PowerState, Boolean, Boolean) SetSuspendState(PowerState, Boolean, Boolean) SetSuspendState(PowerState, Boolean, Boolean)

Sospende o mette in stato di ibernazione il sistema oppure ne richiede la sospensione o l’ibernazione.Suspends or hibernates the system, or requests that the system be suspended or hibernated.

SetUnhandledExceptionMode(UnhandledExceptionMode) SetUnhandledExceptionMode(UnhandledExceptionMode) SetUnhandledExceptionMode(UnhandledExceptionMode) SetUnhandledExceptionMode(UnhandledExceptionMode)

Indica all'applicazione come comportarsi in caso di eccezioni non gestite.Instructs the application how to respond to unhandled exceptions.

SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean) SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean) SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean) SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean)

Indica all'applicazione come rispondere alle eccezioni non gestite, applicando eventualmente il comportamento specifico del thread.Instructs the application how to respond to unhandled exceptions, optionally applying thread-specific behavior.

ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)
UnregisterMessageLoop() UnregisterMessageLoop() UnregisterMessageLoop() UnregisterMessageLoop()

Annulla la registrazione del callback del ciclo di messaggi effettuato con l'elemento RegisterMessageLoop(Application+MessageLoopCallback).Unregisters the message loop callback made with RegisterMessageLoop(Application+MessageLoopCallback).

Eventi

ApplicationExit ApplicationExit ApplicationExit ApplicationExit

Si verifica quando l'applicazione è in fase di chiusura.Occurs when the application is about to shut down.

EnterThreadModal EnterThreadModal EnterThreadModal EnterThreadModal

Si verifica quando l'applicazione sta per entrare in uno stato modale.Occurs when the application is about to enter a modal state.

Idle Idle Idle Idle

Si verifica quando l'applicazione conclude l'elaborazione e sta per entrare nello stato inattivo.Occurs when the application finishes processing and is about to enter the idle state.

LeaveThreadModal LeaveThreadModal LeaveThreadModal LeaveThreadModal

Si verifica quando l'applicazione sta per uscire da uno stato modale.Occurs when the application is about to leave a modal state.

ThreadException ThreadException ThreadException ThreadException

Si verifica quando viene generata un'eccezione non intercettata dal thread.Occurs when an untrapped thread exception is thrown.

ThreadExit ThreadExit ThreadExit ThreadExit

Si verifica quando un thread è in fase di chiusura.Occurs when a thread is about to shut down. Nella fase di chiusura del thread principale di un'applicazione viene generato prima questo evento, quindi l'evento ApplicationExit.When the main thread for an application is about to be shut down, this event is raised first, followed by an ApplicationExit event.

Si applica a