Application Klasa

Definicja

Udostępnia static metody i właściwości do zarządzania aplikacją, taką jak metody uruchamiania i zatrzymywania aplikacji, przetwarzania komunikatów systemu Windows i właściwości w celu uzyskania informacji o aplikacji. Klasa ta nie może być dziedziczona.

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

Przykłady

Poniższy przykład kodu wyświetla numery w polu listy w formularzu. Za każdym razem, gdy klikniesz button1przycisk , aplikacja doda kolejny numer do listy.

Metoda Main wywołuje Run metodę , aby uruchomić aplikację, która tworzy formularz i button1listBox1 . Gdy użytkownik kliknie button1element , button1_Click metoda wyświetli MessageBoxwartość . Jeśli użytkownik kliknie No element MessageBox, button1_Click metoda doda liczbę do listy. Jeśli użytkownik kliknie Yesprzycisk , aplikacja wywołuje metodę Exit , aby przetworzyć wszystkie pozostałe komunikaty w kolejce, a następnie zakończyć pracę.

Uwaga

Wywołanie metody do Exit elementu zakończy się niepowodzeniem w częściowej relacji zaufania.

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

Uwagi

Klasa ma metody uruchamiania Application i zatrzymywania aplikacji i wątków oraz przetwarzania komunikatów systemu Windows w następujący sposób:

  • Run uruchamia pętlę komunikatów aplikacji w bieżącym wątku i opcjonalnie sprawia, że formularz jest widoczny.

  • Exit lub ExitThread zatrzymuje pętlę komunikatów.

  • DoEvents przetwarza komunikaty, gdy program jest w pętli.

  • AddMessageFilter Dodaje filtr komunikatów do pompy komunikatów aplikacji w celu monitorowania komunikatów systemu Windows.

  • IMessageFilter Umożliwia zatrzymanie wywoływania zdarzenia lub wykonywania operacji specjalnych przed wywołaniem programu obsługi zdarzeń.

Ta klasa ma CurrentCulture właściwości i CurrentInputLanguage służące do pobierania lub ustawiania informacji o kulturze dla bieżącego wątku.

Nie można utworzyć wystąpienia tej klasy.

Właściwości

AllowQuit

Pobiera wartość wskazującą, czy obiekt wywołujący może zamknąć tę aplikację.

CommonAppDataPath

Pobiera ścieżkę dla danych aplikacji, które są współużytkowane przez wszystkich użytkowników.

CommonAppDataRegistry

Pobiera klucz rejestru dla danych aplikacji, które są współużytkowane przez wszystkich użytkowników.

CompanyName

Pobiera nazwę firmy skojarzona z aplikacją.

CurrentCulture

Pobiera lub ustawia informacje o kulturze dla bieżącego wątku.

CurrentInputLanguage

Pobiera lub ustawia bieżący język danych wejściowych dla bieżącego wątku.

ExecutablePath

Pobiera ścieżkę pliku wykonywalnego, który uruchomił aplikację, w tym nazwę pliku wykonywalnego.

HighDpiMode

Pobiera bieżący tryb wysokiej rozdzielczości DPI dla aplikacji.

LocalUserAppDataPath

Pobiera ścieżkę dla danych aplikacji użytkownika lokalnego, innego niż roaming.

MessageLoop

Pobiera wartość wskazującą, czy pętla komunikatów istnieje w tym wątku.

OpenForms

Pobiera kolekcję otwartych formularzy należących do aplikacji.

ProductName

Pobiera nazwę produktu skojarzona z tą aplikacją.

ProductVersion

Pobiera wersję produktu skojarzoną z tą aplikacją.

RenderWithVisualStyles

Pobiera wartość określającą, czy bieżąca aplikacja rysuje kontrolki ze stylami wizualizacji.

SafeTopLevelCaptionFormat

Pobiera lub ustawia ciąg formatu, który ma być stosowany do podpisów okien najwyższego poziomu, gdy są one wyświetlane z banerem ostrzegawczym.

StartupPath

Pobiera ścieżkę pliku wykonywalnego, który uruchomił aplikację, a nie uwzględnia nazwy pliku wykonywalnego.

UserAppDataPath

Pobiera ścieżkę dla danych aplikacji użytkownika.

UserAppDataRegistry

Pobiera klucz rejestru dla danych aplikacji użytkownika.

UseVisualStyles

Pobiera wartość wskazującą, czy style wizualne są włączone dla aplikacji.

UseWaitCursor

Pobiera lub ustawia, czy kursor oczekiwania jest używany dla wszystkich otwartych formularzy aplikacji.

VisualStyleState

Pobiera wartość określającą sposób stosowania stylów wizualnych do okien aplikacji.

Metody

AddMessageFilter(IMessageFilter)

Dodaje filtr komunikatów do monitorowania komunikatów systemu Windows podczas ich kierowania do ich miejsc docelowych.

DoEvents()

Przetwarza wszystkie komunikaty systemu Windows aktualnie w kolejce komunikatów.

EnableVisualStyles()

Włącza style wizualne dla aplikacji.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Exit()

Informuje wszystkie pompy komunikatów, że muszą zakończyć działanie, a następnie zamyka wszystkie okna aplikacji po przetworzeniu komunikatów.

Exit(CancelEventArgs)

Informuje wszystkie pompy komunikatów, że muszą zakończyć działanie, a następnie zamyka wszystkie okna aplikacji po przetworzeniu komunikatów.

ExitThread()

Zamyka pętlę komunikatów w bieżącym wątku i zamyka wszystkie okna w wątku.

FilterMessage(Message)

Uruchamia wszystkie filtry względem komunikatu okna i zwraca kopię zmodyfikowanego komunikatu.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OleRequired()

Inicjuje obiekt OLE w bieżącym wątku.

OnThreadException(Exception)

ThreadException Zgłasza zdarzenie.

RaiseIdle(EventArgs)

Idle Zgłasza zdarzenie w scenariuszach hostowanych.

RegisterMessageLoop(Application+MessageLoopCallback)

Rejestruje wywołanie zwrotne w celu sprawdzenia, czy pętla komunikatów jest uruchomiona w środowiskach hostowanych.

RemoveMessageFilter(IMessageFilter)

Usuwa filtr komunikatów z pompy komunikatów aplikacji.

Restart()

Zamyka aplikację i natychmiast uruchamia nowe wystąpienie.

Run()

Rozpoczyna uruchamianie standardowej pętli komunikatów aplikacji w bieżącym wątku bez formularza.

Run(ApplicationContext)

Rozpoczyna uruchamianie standardowej pętli komunikatów aplikacji w bieżącym wątku z elementem ApplicationContext.

Run(Form)

Rozpoczyna uruchamianie standardowej pętli komunikatów aplikacji w bieżącym wątku i sprawia, że określony formularz jest widoczny.

SetCompatibleTextRenderingDefault(Boolean)

Ustawia wartość domyślną dla całej aplikacji dla właściwości zdefiniowanej UseCompatibleTextRendering dla niektórych kontrolek.

SetDefaultFont(Font)

Ustawia wartość domyślną Font dla procesu.

SetHighDpiMode(HighDpiMode)

Ustawia tryb wysokiej dpi procesu.

SetSuspendState(PowerState, Boolean, Boolean)

Zawiesza lub hibernuje system albo żąda wstrzymania lub hibernacji systemu.

SetUnhandledExceptionMode(UnhandledExceptionMode)

Instruuje aplikację, jak reagować na nieobsługiwane wyjątki.

SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean)

Instruuje aplikację, jak reagować na nieobsługiwane wyjątki, opcjonalnie stosując zachowanie specyficzne dla wątku.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
UnregisterMessageLoop()

Wyrejestrowuje wywołanie zwrotne pętli komunikatów wykonane za pomocą polecenia RegisterMessageLoop(Application+MessageLoopCallback).

Zdarzenia

ApplicationExit

Występuje, gdy aplikacja ma zostać zamknięta.

EnterThreadModal

Występuje, gdy aplikacja ma wprowadzić stan modalny.

Idle

Występuje, gdy aplikacja zakończy przetwarzanie i ma wprowadzić stan bezczynności.

LeaveThreadModal

Występuje, gdy aplikacja ma opuścić stan modalny.

ThreadException

Występuje, gdy jest zgłaszany nietrapowany wyjątek wątku.

ThreadExit

Występuje, gdy wątek ma zostać zamknięty. Gdy główny wątek aplikacji ma zostać zamknięty, to zdarzenie jest zgłaszane jako pierwsze, a następnie ApplicationExit zdarzenie.

Dotyczy