Application Класс

Определение

Предоставляет методы и свойства static для управления приложением, например методы для запуска и остановки приложения, для обработки сообщений Windows и свойства для получения сведений о приложении.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. Этот класс не наследуется.This class cannot be inherited.

public ref class Application sealed
public sealed class Application
type Application = class
Public NotInheritable Class Application
Наследование
Application

Примеры

В следующем примере кода показаны числа из списка в форме.The following code example lists numbers in a list box on a form. Каждый раз при нажатии button1приложение добавляет еще один номер в список.Each time you click button1, the application adds another number to the list.

Метод Main вызывает Run для запуска приложения, которое создает форму, listBox1 и button1.The Main method calls Run to start the application, which creates the form, listBox1 and button1. Когда пользователь нажимает кнопку button1, метод button1_Click отображает MessageBox.When the user clicks button1, the button1_Click method displays a MessageBox. Если пользователь нажимает кнопку No на MessageBox, метод button1_Click добавляет число в список.If the user clicks No on the MessageBox, the button1_Click method adds a number to the list. Если пользователь нажимает кнопку Yes, приложение вызывает Exit, чтобы обработать все оставшиеся сообщения в очереди, а затем завершить работу.If the user clicks Yes, the application calls Exit to process all remaining messages in the queue and then to quit.

Примечание

Вызов Exit завершится ошибкой в режиме частичного доверия.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

Комментарии

Класс Application содержит методы запуска и завершения приложений и потоков, а также для обработки сообщений Windows следующим образом:The Application class has methods to start and stop applications and threads, and to process Windows messages, as follows:

  • Run запускает цикл обработки сообщений приложения в текущем потоке и, при необходимости, делает форму видимой.Run starts an application message loop on the current thread and, optionally, makes a form visible.

  • Exit или ExitThread останавливает цикл обработки сообщений.Exit or ExitThread stops a message loop.

  • DoEvents обрабатывает сообщения, пока программа находится в цикле.DoEvents processes messages while your program is in a loop.

  • AddMessageFilter добавляет фильтр сообщений в конвейер сообщений приложения для отслеживания сообщений Windows.AddMessageFilter adds a message filter to the application message pump to monitor Windows messages.

  • IMessageFilter позволяет предотвратить возникновение события или выполнить специальные операции перед вызовом обработчика событий.IMessageFilter lets you stop an event from being raised or perform special operations before invoking an event handler.

Этот класс содержит CurrentCulture и CurrentInputLanguage свойства для получения или задания сведений о культуре для текущего потока.This class has CurrentCulture and CurrentInputLanguage properties to get or set culture information for the current thread.

Нельзя создать экземпляр этого класса.You cannot create an instance of this class.

Свойства

AllowQuit

Получает значение, определяющее, может ли вызывающий объект выйти из этого приложения.Gets a value indicating whether the caller can quit this application.

CommonAppDataPath

Получает путь для данных приложения, являющихся общими для всех пользователей.Gets the path for the application data that is shared among all users.

CommonAppDataRegistry

Получает раздел реестра для данных приложения, являющихся общими для всех пользователей.Gets the registry key for the application data that is shared among all users.

CompanyName

Получает название компании, сопоставленное с приложением.Gets the company name associated with the application.

CurrentCulture

Получает или задает данные о языке и региональных параметрах для текущего потока.Gets or sets the culture information for the current thread.

CurrentInputLanguage

Получает или задает текущий язык ввода для текущего потока.Gets or sets the current input language for the current thread.

ExecutablePath

Получает путь для исполняемого файла, запустившего приложение, включая исполняемое имя.Gets the path for the executable file that started the application, including the executable name.

HighDpiMode

Возвращает текущий режим высокого DPI для данного приложения.Gets the current high DPI mode for the application.

LocalUserAppDataPath

Получает путь для данных приложения локального неперемещающегося пользователя.Gets the path for the application data of a local, non-roaming user.

MessageLoop

Получает значение, указывающее, существует ли цикл обработки сообщений в данном потоке.Gets a value indicating whether a message loop exists on this thread.

OpenForms

Получает коллекцию открытых форм, принадлежащих приложению.Gets a collection of open forms owned by the application.

ProductName

Получает название продукта, сопоставленного с данным приложением.Gets the product name associated with this application.

ProductVersion

Получает версию продукта, сопоставленную с данным приложением.Gets the product version associated with this application.

RenderWithVisualStyles

Получает значение, указывающее, будет ли текущее приложение прорисовывать элементы управления с помощью визуальных стилей.Gets a value specifying whether the current application is drawing controls with visual styles.

SafeTopLevelCaptionFormat

Получает или задает строку формата для использования в заголовках окон верхнего уровня, когда они отображаются с предупреждающим объявлением.Gets or sets the format string to apply to top-level window captions when they are displayed with a warning banner.

StartupPath

Получает путь для исполняемого файла, запустившего приложение, не включая исполняемое имя.Gets the path for the executable file that started the application, not including the executable name.

UserAppDataPath

Получает путь для данных приложения пользователя.Gets the path for the application data of a user.

UserAppDataRegistry

Получает раздел реестра для данных приложения пользователя.Gets the registry key for the application data of a user.

UseVisualStyles

Возвращает значение, указывающее, включены ли визуальные стили для приложения.Gets a value that indicates whether visual styles are enabled for the application.

UseWaitCursor

Получает или задает значение, которое указывает, используется ли курсор ожидания для всех открытых форм приложения.Gets or sets whether the wait cursor is used for all open forms of the application.

VisualStyleState

Получает значение, указывающее, каким образом визуальные стили применяются к окну приложения.Gets a value that specifies how visual styles are applied to application windows.

Методы

AddMessageFilter(IMessageFilter)

Добавляет фильтр сообщений для мониторинга сообщений Windows при их маршрутизации к местам назначения.Adds a message filter to monitor Windows messages as they are routed to their destinations.

DoEvents()

Обрабатывает все сообщения Windows, которые в данный момент находятся в очереди сообщений.Processes all Windows messages currently in the message queue.

EnableVisualStyles()

Включает визуальные стили для приложения.Enables visual styles for the application.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
Exit()

Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений.Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.

Exit(CancelEventArgs)

Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений.Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.

ExitThread()

Выходит из цикла обработки сообщений в текущем потоке и закрывает все окна в потоке.Exits the message loop on the current thread and closes all windows on the thread.

FilterMessage(Message)

Запускает любые фильтры для сообщения окна и возвращает копию измененного сообщения.Runs any filters against a window message, and returns a copy of the modified message.

GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
OleRequired()

Инициализирует OLE в текущем потоке.Initializes OLE on the current thread.

OnThreadException(Exception)

Вызывает событие ThreadException.Raises the ThreadException event.

RaiseIdle(EventArgs)

Вызывает событие Idle в размещенных скриптах.Raises the Idle event in hosted scenarios.

RegisterMessageLoop(Application+MessageLoopCallback)

Регистрирует ответный вызов, чтобы проверить, выполняется ли цикл обработки сообщений в размещенных средах.Registers a callback for checking whether the message loop is running in hosted environments.

RemoveMessageFilter(IMessageFilter)

Удаляет фильтр сообщений из средства переноса сообщений приложения.Removes a message filter from the message pump of the application.

Restart()

Завершает работу приложения и немедленно запускает новый экземпляр.Shuts down the application and starts a new instance immediately.

Run()

Запускает стандартный цикл обработки сообщений приложения в текущем потоке, без формы.Begins running a standard application message loop on the current thread, without a form.

Run(ApplicationContext)

Запускает стандартный цикл обработки сообщений приложения в текущем потоке с ApplicationContext.Begins running a standard application message loop on the current thread, with an ApplicationContext.

Run(Form)

Запускает стандартный цикл обработки сообщений приложения в текущем потоке и делает указанную форму видимой.Begins running a standard application message loop on the current thread, and makes the specified form visible.

SetCompatibleTextRenderingDefault(Boolean)

Задает значения по умолчанию во всем приложении для свойства UseCompatibleTextRendering, определенного в конкретных элементах управления.Sets the application-wide default for the UseCompatibleTextRendering property defined on certain controls.

SetHighDpiMode(HighDpiMode)

Задает режим высокого DPI процесса.Sets the high DPI mode of the process.

SetSuspendState(PowerState, Boolean, Boolean)

Приостанавливает работу системы или переводит ее в спящий режим или же запрашивает приостановку работы системы или перевод ее в спящий режим.Suspends or hibernates the system, or requests that the system be suspended or hibernated.

SetUnhandledExceptionMode(UnhandledExceptionMode)

Указывает, как приложение должно реагировать на необработанные исключения.Instructs the application how to respond to unhandled exceptions.

SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean)

Предоставляет приложению инструкции, определяющие, как приложение должно отвечать на необработанные исключения, при необходимости применяя поведение, зависящее от потока.Instructs the application how to respond to unhandled exceptions, optionally applying thread-specific behavior.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)
UnregisterMessageLoop()

Отменяет регистрацию ответного вызова цикла обработки сообщений, сделанного с помощью метода RegisterMessageLoop(Application+MessageLoopCallback).Unregisters the message loop callback made with RegisterMessageLoop(Application+MessageLoopCallback).

События

ApplicationExit

Происходит при закрытии приложения.Occurs when the application is about to shut down.

EnterThreadModal

Происходит при переходе приложения в модальное состояние.Occurs when the application is about to enter a modal state.

Idle

Происходит, когда приложение заканчивает обработку и собирается перейти в состояние простоя.Occurs when the application finishes processing and is about to enter the idle state.

LeaveThreadModal

Возникает, когда приложение собирается выйти из модального состояния.Occurs when the application is about to leave a modal state.

ThreadException

Происходит при выдаче неперехваченного исключения потока.Occurs when an untrapped thread exception is thrown.

ThreadExit

Происходит при закрытии потока.Occurs when a thread is about to shut down. Перед закрытием главного потока для приложения вызывается данное событие, за которым следует событие ApplicationExit.When the main thread for an application is about to be shut down, this event is raised first, followed by an ApplicationExit event.

Применяется к