Application Klasse

Definition

Stellt static Methoden und Eigenschaften zum Verwalten einer Anwendung bereit, z. B. Methoden zum Starten und Beenden einer Anwendung, zum Verarbeiten Windows Nachrichten und Eigenschaften zum Abrufen von Informationen zu einer Anwendung. Diese Klasse kann nicht vererbt werden.

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

Beispiele

Im folgenden Codebeispiel werden Zahlen in einem Listenfeld in einem Formular aufgelistet. Jedes Mal, wenn Sie darauf klicken button1, fügt die Anwendung der Liste eine weitere Nummer hinzu.

Die Main Methode ruft Run auf, um die Anwendung zu starten, die das Formular erstellt, listBox1 und button1. Wenn der Benutzer klickt button1, zeigt die button1_Click Methode eine MessageBox. Wenn der Benutzer auf die MessageBoxSchaltfläche klicktNo, fügt die button1_Click Methode der Liste eine Zahl hinzu. Wenn der Benutzer klickt Yes, wird die Anwendung aufgerufen Exit , um alle verbleibenden Nachrichten in der Warteschlange zu verarbeiten und dann zu beenden.

Note

Der Aufruf schlägt Exit bei teilweiser Vertrauensstellung fehl.

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

Hinweise

Die klasse Application verfügt über Methoden zum Starten und Beenden von Anwendungen und Threads sowie zum Verarbeiten Windows Nachrichten wie folgt:

  • Run startet eine Anwendungsmeldungsschleife im aktuellen Thread und macht optional ein Formular sichtbar.

  • Exit oder ExitThread stoppt eine Nachrichtenschleife.

  • DoEvents verarbeitet Nachrichten, während sich Ihr Programm in einer Schleife befindet.

  • AddMessageFilter fügt der Anwendungsnachrichtenpumpe einen Nachrichtenfilter hinzu, um Windows Nachrichten zu überwachen.

  • IMessageFilter Sie können verhindern, dass ein Ereignis ausgelöst oder spezielle Vorgänge ausgeführt wird, bevor Sie einen Ereignishandler aufrufen.

Diese Klasse hat CurrentCulture und CurrentInputLanguage Eigenschaften, um Kulturinformationen für den aktuellen Thread abzurufen oder festzulegen.

Sie können keine Instanz dieser Klasse erstellen.

Eigenschaften

Name Beschreibung
AllowQuit

Ruft einen Wert ab, der angibt, ob der Aufrufer diese Anwendung beenden kann.

CommonAppDataPath

Ruft den Pfad für die Anwendungsdaten ab, die für alle Benutzer freigegeben werden.

CommonAppDataRegistry

Ruft den Registrierungsschlüssel für die Anwendungsdaten ab, die für alle Benutzer freigegeben sind.

CompanyName

Ruft den Firmennamen ab, der der Anwendung zugeordnet ist.

CurrentCulture

Dient zum Abrufen oder Festlegen der Kulturinformationen für den aktuellen Thread.

CurrentInputLanguage

Ruft die aktuelle Eingabesprache für den aktuellen Thread ab oder legt sie fest.

ExecutablePath

Ruft den Pfad für die ausführbare Datei ab, die die Anwendung gestartet hat, einschließlich des dateinamens.

LocalUserAppDataPath

Ruft den Pfad für die Anwendungsdaten eines lokalen, nicht roamingbasierten Benutzers ab.

MessageLoop

Ruft einen Wert ab, der angibt, ob eine Nachrichtenschleife in diesem Thread vorhanden ist.

OpenForms

Ruft eine Auflistung von geöffneten Formularen ab, die der Anwendung gehören.

ProductName

Ruft den Produktnamen ab, der dieser Anwendung zugeordnet ist.

ProductVersion

Ruft die Produktversion ab, die dieser Anwendung zugeordnet ist.

RenderWithVisualStyles

Ruft einen Wert ab, der angibt, ob es sich bei der aktuellen Anwendung um Zeichnungssteuerelemente mit visuellen Formatvorlagen handelt.

SafeTopLevelCaptionFormat

Ruft die Formatzeichenfolge ab, die auf Beschriftungen der obersten Ebene angewendet werden soll, wenn sie mit einem Warnbanner angezeigt werden, oder legt diese fest.

StartupPath

Ruft den Pfad für die ausführbare Datei ab, die die Anwendung gestartet hat, nicht einschließlich des dateinamens.

UserAppDataPath

Ruft den Pfad für die Anwendungsdaten eines Benutzers ab.

UserAppDataRegistry

Ruft den Registrierungsschlüssel für die Anwendungsdaten eines Benutzers ab.

UseWaitCursor

Ruft ab oder legt fest, ob der Wartecursor für alle geöffneten Formulare der Anwendung verwendet wird.

VisualStyleState

Ruft einen Wert ab, der angibt, wie visuelle Formatvorlagen auf Anwendungsfenster angewendet werden.

Methoden

Name Beschreibung
AddMessageFilter(IMessageFilter)

Fügt einen Nachrichtenfilter hinzu, um Windows Nachrichten zu überwachen, während sie an ihre Ziele weitergeleitet werden.

DoEvents()

Verarbeitet alle Windows Nachrichten, die sich derzeit in der Nachrichtenwarteschlange befinden.

EnableVisualStyles()

Aktiviert visuelle Formatvorlagen für die Anwendung.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Exit()

Informiert alle Nachrichtenpumpen, dass sie beendet werden müssen, und schließt dann alle Anwendungsfenster, nachdem die Nachrichten verarbeitet wurden.

Exit(CancelEventArgs)

Informiert alle Nachrichtenpumpen, dass sie beendet werden müssen, und schließt dann alle Anwendungsfenster, nachdem die Nachrichten verarbeitet wurden.

ExitThread()

Beendet die Nachrichtenschleife im aktuellen Thread und schließt alle Fenster im Thread.

FilterMessage(Message)

Führt alle Filter für eine Fenstermeldung aus und gibt eine Kopie der geänderten Nachricht zurück.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
OleRequired()

Initialisiert OLE im aktuellen Thread.

OnThreadException(Exception)

Löst das ThreadException-Ereignis aus.

RaiseIdle(EventArgs)

Löst das Idle Ereignis in gehosteten Szenarien aus.

RegisterMessageLoop(Application+MessageLoopCallback)

Registriert einen Rückruf, um zu überprüfen, ob die Nachrichtenschleife in gehosteten Umgebungen ausgeführt wird.

RemoveMessageFilter(IMessageFilter)

Entfernt einen Nachrichtenfilter aus der Nachrichtenpumpe der Anwendung.

Restart()

Beendet die Anwendung und startet sofort eine neue Instanz.

Run()

Beginnt mit der Ausführung einer standardanwendungsnachrichtenschleife im aktuellen Thread, ohne dass ein Formular vorhanden ist.

Run(ApplicationContext)

Beginnt mit der Ausführung einer standardanwendungsnachrichtenschleife im aktuellen Thread mit einer ApplicationContext.

Run(Form)

Beginnt mit der Ausführung einer standardanwendungsnachrichtenschleife im aktuellen Thread und macht das angegebene Formular sichtbar.

SetCompatibleTextRenderingDefault(Boolean)

Legt den anwendungsweiten Standardwert für die eigenschaft fest, die UseCompatibleTextRendering für bestimmte Steuerelemente definiert ist.

SetSuspendState(PowerState, Boolean, Boolean)

Hält das System an oder ruht das System oder fordert an, dass das System angehalten oder ruhet.

SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean)

Weist die Anwendung an, wie sie auf unbehandelte Ausnahmen reagiert, optional das threadspezifische Verhalten anwenden.

SetUnhandledExceptionMode(UnhandledExceptionMode)

Weist die Anwendung an, wie sie auf unbehandelte Ausnahmen reagiert.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
UnregisterMessageLoop()

Hebt die Registrierung des Nachrichtenschleifenrückrufs auf, der mit RegisterMessageLoop(Application+MessageLoopCallback).

Ereignisse

Name Beschreibung
ApplicationExit

Tritt auf, wenn die Anwendung beendet werden soll.

EnterThreadModal

Tritt auf, wenn die Anwendung in einen modalen Zustand wechselt.

Idle

Tritt auf, wenn die Anwendung die Verarbeitung beendet hat und in den Leerlaufzustand wechselt.

LeaveThreadModal

Tritt auf, wenn die Anwendung in der Lage ist, einen modalen Zustand zu verlassen.

ThreadException

Tritt auf, wenn eine nicht abgefangene Thread-Ausnahme ausgelöst wird.

ThreadExit

Tritt auf, wenn ein Thread beendet werden soll. Wenn der Hauptthread für eine Anwendung beendet werden soll, wird dieses Ereignis zuerst ausgelöst, gefolgt von einem ApplicationExit Ereignis.

Gilt für: