Application Class

Definition

Stellt static-Methoden und Eigenschaften für die Verwaltung einer Anwendung zur Verfügung, z. B. Methoden zum Starten und Beenden einer Anwendung, zum Verarbeiten von Windows-Meldungen sowie Eigenschaften für das Abrufen von Informationen zu einer Anwendung.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. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

public ref class Application sealed
public sealed class Application
type Application = class
Public NotInheritable Class Application
Inheritance
Application

Examples

Im folgenden Codebeispiel werden Zahlen in einem Listenfeld auf einem Formular aufgelistet.The following code example lists numbers in a list box on a form. Jedes Mal, wenn Sie auf button1klicken, fügt die Anwendung der Liste eine weitere Nummer hinzu.Each time you click button1, the application adds another number to the list.

Mit der Main-Methode wird Run aufgerufen, um die Anwendung zu starten, die das Formular, listBox1 und button1erstellt.The Main method calls Run to start the application, which creates the form, listBox1 and button1. Wenn der Benutzer auf button1klickt, zeigt die button1_Click-Methode eine MessageBoxan.When the user clicks button1, the button1_Click method displays a MessageBox. Wenn der Benutzer auf den MessageBoxauf No klickt, fügt die button1_Click-Methode der Liste eine Zahl hinzu.If the user clicks No on the MessageBox, the button1_Click method adds a number to the list. Wenn der Benutzer auf Yesklickt, ruft die Anwendung Exit auf, um alle verbleibenden Nachrichten in der Warteschlange zu verarbeiten und dann den Vorgang zu beenden.If the user clicks Yes, the application calls Exit to process all remaining messages in the queue and then to quit.

Note

Der Exit-Aufrufe schlägt bei teilweiser Vertrauenswürdigkeit fehl.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

Remarks

Die Application-Klasse verfügt über Methoden zum Starten und Abbrechen von Anwendungen und Threads sowie zum Verarbeiten von Windows-Meldungen wie folgt:The Application class has methods to start and stop applications and threads, and to process Windows messages, as follows:

  • Run startet eine Anwendungs Nachrichten Schleife für den aktuellen Thread und macht optional ein Formular sichtbar.Run starts an application message loop on the current thread and, optionally, makes a form visible.

  • Exit oder ExitThread beendet eine Nachrichten Schleife.Exit or ExitThread stops a message loop.

  • DoEvents verarbeitet Nachrichten, während sich das Programm in einer Schleife befindet.DoEvents processes messages while your program is in a loop.

  • AddMessageFilter fügt der anwendungsnachrichtenpump einen Nachrichtenfilter hinzu, um Windows-Meldungen zu überwachen.AddMessageFilter adds a message filter to the application message pump to monitor Windows messages.

  • mit IMessageFilter können Sie verhindern, dass ein Ereignis ausgelöst wird, oder vor dem Aufrufen eines Ereignis Handlers besondere Vorgänge ausführen.IMessageFilter lets you stop an event from being raised or perform special operations before invoking an event handler.

Diese Klasse verfügt über CurrentCulture und CurrentInputLanguage Eigenschaften, um Kultur Informationen für den aktuellen Thread zu erhalten oder festzulegen.This class has CurrentCulture and CurrentInputLanguage properties to get or set culture information for the current thread.

Eine Instanz dieser Klasse kann nicht erstellt werden.You cannot create an instance of this class.

Properties

AllowQuit

Ruft einen Wert ab, der angibt, ob der Aufrufer diese Anwendung beenden kann.Gets a value indicating whether the caller can quit this application.

CommonAppDataPath

Ruft den Pfad für die Anwendungsdaten ab, die von allen Benutzern gemeinsam genutzt werden.Gets the path for the application data that is shared among all users.

CommonAppDataRegistry

Ruft den Registrierungsschlüssel für die Anwendungsdaten ab, die von allen Benutzern gemeinsam genutzt werden.Gets the registry key for the application data that is shared among all users.

CompanyName

Ruft den der Anwendung zugeordneten Firmennamen ab.Gets the company name associated with the application.

CurrentCulture

Ruft die Kulturinformationen für den aktuellen Thread ab oder legt diese fest.Gets or sets the culture information for the current thread.

CurrentInputLanguage

Ruft die aktuelle Eingabesprache für den aktuellen Thread ab oder legt diese fest.Gets or sets the current input language for the current thread.

ExecutablePath

Ruft den Pfad einschließlich des Namens der ausführbaren Datei ab, die zum Starten der Anwendung verwendet wurde.Gets the path for the executable file that started the application, including the executable name.

HighDpiMode

Ruft den aktuellen Modus mit hohem DPI-Wert für die Anwendung ab.Gets the current high DPI mode for the application.

LocalUserAppDataPath

Ruft den Pfad für die Anwendungsdaten eines lokalen Benutzers ab, der kein Roaming verwendet.Gets the path for the application data of a local, non-roaming user.

MessageLoop

Ruft einen Wert ab, der angibt, ob für diesen Thread eine Nachrichtenschleife vorhanden ist.Gets a value indicating whether a message loop exists on this thread.

OpenForms

Ruft eine Auflistung offener Formulare ab, die sich im Besitz der Anwendung befinden.Gets a collection of open forms owned by the application.

ProductName

Ruft den dieser Anwendung zugeordneten Produktnamen ab.Gets the product name associated with this application.

ProductVersion

Ruft die dieser Anwendung zugeordnete Produktversion ab.Gets the product version associated with this application.

RenderWithVisualStyles

Ruft einen Wert ab, der angibt, ob die aktuelle Anwendung Steuerelemente mit visuellen Stilen zeichnet.Gets a value specifying whether the current application is drawing controls with visual styles.

SafeTopLevelCaptionFormat

Ruft die Formatzeichenfolge ab, die den Beschriftungen der Fenster auf oberster Ebene zugewiesen wird, wenn diese mit einem Warnbanner angezeigt werden, oder legt diese fest.Gets or sets the format string to apply to top-level window captions when they are displayed with a warning banner.

StartupPath

Ruft den Pfad ohne den Namen der ausführbaren Datei ab, die zum Starten der Anwendung verwendet wurde.Gets the path for the executable file that started the application, not including the executable name.

UserAppDataPath

Ruft den Pfad für die Anwendungsdaten eines Benutzers ab.Gets the path for the application data of a user.

UserAppDataRegistry

Ruft den Registrierungsschlüssel für die Anwendungsdaten eines Benutzers ab.Gets the registry key for the application data of a user.

UseVisualStyles

Ruft einen Wert ab, der angibt, ob visuelle Stile für die Anwendung aktiviert sind.Gets a value that indicates whether visual styles are enabled for the application.

UseWaitCursor

Ruft ab oder legt fest, ob der Wartecursor für alle offenen Formulare der Anwendung verwendet wird.Gets or sets whether the wait cursor is used for all open forms of the application.

VisualStyleState

Ruft einen Wert ab, der angibt, wie visuelle Stile für Anwendungsfenster übernommen werden.Gets a value that specifies how visual styles are applied to application windows.

Methods

AddMessageFilter(IMessageFilter)

Fügt einen Meldungsfilter zum Überwachen von Windows-Meldungen beim Weiterleiten an das Ziel hinzu.Adds a message filter to monitor Windows messages as they are routed to their destinations.

DoEvents()

Verarbeitet alle Windows-Meldungen, die sich derzeit in der Meldungswarteschlange befinden.Processes all Windows messages currently in the message queue.

EnableVisualStyles()

Aktiviert visuelle Stile für die Anwendung.Enables visual styles for the application.

Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Exit()

Weist alle Nachrichtensysteme an, die Verarbeitung zu beenden, und schließt alle Anwendungsfenster, sobald die Meldungen verarbeitet wurden.Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.

Exit(CancelEventArgs)

Weist alle Nachrichtensysteme an, die Verarbeitung zu beenden, und schließt alle Anwendungsfenster, sobald die Meldungen verarbeitet wurden.Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.

ExitThread()

Verlässt die Nachrichtenschleife für den aktuellen Thread und schließt alle Fenster des Threads.Exits the message loop on the current thread and closes all windows on the thread.

FilterMessage(Message)

Führt etwaige Filter für eine Fenstermeldung aus und gibt eine Kopie der geänderten Meldung zurück.Runs any filters against a window message, and returns a copy of the modified message.

GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
OleRequired()

Initialisiert OLE für den aktuellen Thread.Initializes OLE on the current thread.

OnThreadException(Exception)

Löst das ThreadException-Ereignis aus.Raises the ThreadException event.

RaiseIdle(EventArgs)

Löst das Idle-Ereignis in gehosteten Szenarien aus.Raises the Idle event in hosted scenarios.

RegisterMessageLoop(Application+MessageLoopCallback)

Registriert einen Rückruf für die Prüfung, ob die Nachrichtenschleife in gehosteten Umgebungen ausgeführt wird.Registers a callback for checking whether the message loop is running in hosted environments.

RemoveMessageFilter(IMessageFilter)

Entfernt einen Meldungsfilter aus dem Nachrichtensystem der Anwendung.Removes a message filter from the message pump of the application.

Restart()

Schließt die Anwendung und startet sofort eine neue Instanz.Shuts down the application and starts a new instance immediately.

Run()

Beginnt die Ausführung einer Standardmeldungsschleife einer Anwendung für den aktuellen Thread ohne Formular.Begins running a standard application message loop on the current thread, without a form.

Run(ApplicationContext)

Beginnt die Ausführung einer Standardnachrichtenschleife einer Anwendung für den aktuellen Thread mit einem ApplicationContext.Begins running a standard application message loop on the current thread, with an ApplicationContext.

Run(Form)

Beginnt die Ausführung einer Standardnachrichtenschleife einer Anwendung für den aktuellen Thread und zeigt das angegebene Formular an.Begins running a standard application message loop on the current thread, and makes the specified form visible.

SetCompatibleTextRenderingDefault(Boolean)

Legt für die gesamte Anwendung die Voreinstellung für die UseCompatibleTextRendering-Eigenschaft fest, die in bestimmten Steuerelementen definiert ist.Sets the application-wide default for the UseCompatibleTextRendering property defined on certain controls.

SetHighDpiMode(HighDpiMode)

Legt den Modus mit hohem DPI-Wert des Prozesses fest.Sets the high DPI mode of the process.

SetSuspendState(PowerState, Boolean, Boolean)

Versetzt das System in den Standbymodus oder Ruhezustand oder fordert an, dass das System in den Standbymodus oder Ruhezustand versetzt wird.Suspends or hibernates the system, or requests that the system be suspended or hibernated.

SetUnhandledExceptionMode(UnhandledExceptionMode)

Weist die Anwendung an, wie auf unbehandelte Ausnahmen reagiert werden soll.Instructs the application how to respond to unhandled exceptions.

SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean)

Weist die Anwendung an, wie auf nicht behandelte Ausnahmen reagiert werden soll, und wendet optional threadspezifisches Verhalten an.Instructs the application how to respond to unhandled exceptions, optionally applying thread-specific behavior.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)
UnregisterMessageLoop()

Hebt die Registrierung des mit RegisterMessageLoop(Application+MessageLoopCallback) vorgenommenen Nachrichtenschleifenrückrufs auf.Unregisters the message loop callback made with RegisterMessageLoop(Application+MessageLoopCallback).

Events

ApplicationExit

Tritt ein, wenn die Anwendung gerade beendet wird.Occurs when the application is about to shut down.

EnterThreadModal

Tritt ein, bevor die Anwendung in einen modalen Zustand übergeht.Occurs when the application is about to enter a modal state.

Idle

Tritt ein, wenn die Anwendung die Verarbeitung beendet und gerade in den Leerlauf wechselt.Occurs when the application finishes processing and is about to enter the idle state.

LeaveThreadModal

Tritt auf, bevor die Anwendung einen modalen Zustand verlässt.Occurs when the application is about to leave a modal state.

ThreadException

Tritt beim Auslösen einer nicht abgefangenen Threadausnahme ein.Occurs when an untrapped thread exception is thrown.

ThreadExit

Tritt ein, wenn ein Thread gerade beendet wird.Occurs when a thread is about to shut down. Wenn der Hauptthread für eine Anwendung beendet werden soll, wird zuerst dieses Ereignis und anschließend ein ApplicationExit-Ereignis ausgelöst.When the main thread for an application is about to be shut down, this event is raised first, followed by an ApplicationExit event.

Applies to