Application Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет методы и свойства static
для управления приложением, например методы для запуска и остановки приложения, для обработки сообщений Windows и свойства для получения сведений о приложении. Этот класс не наследуется.
public ref class Application sealed
public sealed class Application
type Application = class
Public NotInheritable Class Application
- Наследование
-
Application
Примеры
В следующем примере кода перечислены числа в списке в форме. Каждый раз, когда вы щелкаете button1
, приложение добавляет в список еще одно число.
Метод Main
вызывает Run для запуска приложения, которое создает форму, listBox1
и button1
. Когда пользователь щелкает button1
, button1_Click
метод отображает MessageBox. Если пользователь щелкает No
MessageBox, button1_Click
метод добавляет число в список. Если пользователь щелкает Yes
, приложение вызывает Exit , чтобы обработать все оставшиеся сообщения в очереди, а затем выйти.
Примечание
Вызов завершится ошибкой Exit при частичном доверии.
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 следующим образом:
Run запускает цикл сообщений приложения в текущем потоке и при необходимости делает форму видимой.
Exit или ExitThread останавливает цикл сообщений.
DoEvents обрабатывает сообщения, пока программа находится в цикле.
AddMessageFilter добавляет фильтр сообщений в насос сообщений приложения для мониторинга сообщений Windows.
IMessageFilter позволяет остановить вызов события или выполнить специальные операции перед вызовом обработчика событий.
Этот класс имеет CurrentCulture свойства и CurrentInputLanguage для получения или задания сведений о языке и региональных параметрах для текущего потока.
Невозможно создать экземпляр этого класса.
Свойства
AllowQuit |
Получает значение, определяющее, может ли вызывающий объект выйти из этого приложения. |
ColorMode |
Предоставляет методы и свойства |
CommonAppDataPath |
Получает путь для данных приложения, являющихся общими для всех пользователей. |
CommonAppDataRegistry |
Получает раздел реестра для данных приложения, являющихся общими для всех пользователей. |
CompanyName |
Возвращает название компании, сопоставленное с приложением. |
CurrentCulture |
Получает или задает данные о языке и региональных параметрах для текущего потока. |
CurrentInputLanguage |
Получает или задает текущий язык ввода для текущего потока. |
ExecutablePath |
Получает путь для исполняемого файла, запустившего приложение, включая исполняемое имя. |
HighDpiMode |
Возвращает текущий режим высокого DPI для данного приложения. |
IsDarkModeEnabled |
Предоставляет методы и свойства |
LocalUserAppDataPath |
Получает путь для данных приложения локального неперемещающегося пользователя. |
MessageLoop |
Получает значение, указывающее, существует ли цикл обработки сообщений в данном потоке. |
OpenForms |
Получает коллекцию открытых форм, принадлежащих приложению. |
ProductName |
Получает название продукта, сопоставленного с данным приложением. |
ProductVersion |
Получает версию продукта, сопоставленную с данным приложением. |
RenderWithVisualStyles |
Получает значение, указывающее, будет ли текущее приложение прорисовывать элементы управления с помощью визуальных стилей. |
SafeTopLevelCaptionFormat |
Получает или задает строку формата для использования в заголовках окон верхнего уровня, когда они отображаются с предупреждающим объявлением. |
StartupPath |
Получает путь для исполняемого файла, запустившего приложение, не включая исполняемое имя. |
SystemColorMode |
Предоставляет методы и свойства |
UserAppDataPath |
Получает путь для данных приложения пользователя. |
UserAppDataRegistry |
Получает раздел реестра для данных приложения пользователя. |
UseVisualStyles |
Возвращает значение, указывающее, включены ли визуальные стили для приложения. |
UseWaitCursor |
Получает или задает значение, которое указывает, используется ли курсор ожидания для всех открытых форм приложения. |
VisualStyleState |
Получает значение, указывающее, каким образом визуальные стили применяются к окну приложения. |
Методы
AddMessageFilter(IMessageFilter) |
Добавляет фильтр сообщений для мониторинга сообщений Windows при их маршрутизации к местам назначения. |
DoEvents() |
Обрабатывает все сообщения Windows, которые в данный момент находятся в очереди сообщений. |
EnableVisualStyles() |
Включает визуальные стили для приложения. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Exit() |
Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений. |
Exit(CancelEventArgs) |
Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений. |
ExitThread() |
Выходит из цикла обработки сообщений в текущем потоке и закрывает все окна в потоке. |
FilterMessage(Message) |
Запускает любые фильтры для сообщения окна и возвращает копию измененного сообщения. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
OleRequired() |
Инициализирует OLE в текущем потоке. |
OnThreadException(Exception) |
Вызывает событие ThreadException. |
RaiseIdle(EventArgs) |
Вызывает событие Idle в размещенных скриптах. |
RegisterMessageLoop(Application+MessageLoopCallback) |
Регистрирует ответный вызов, чтобы проверить, выполняется ли цикл обработки сообщений в размещенных средах. |
RemoveMessageFilter(IMessageFilter) |
Удаляет фильтр сообщений из средства переноса сообщений приложения. |
Restart() |
Завершает работу приложения и немедленно запускает новый экземпляр. |
Run() |
Запускает стандартный цикл обработки сообщений приложения в текущем потоке, без формы. |
Run(ApplicationContext) |
Запускает стандартный цикл обработки сообщений приложения в текущем потоке с ApplicationContext. |
Run(Form) |
Запускает стандартный цикл обработки сообщений приложения в текущем потоке и делает указанную форму видимой. |
SetColorMode(SystemColorMode) |
Предоставляет методы и свойства |
SetCompatibleTextRenderingDefault(Boolean) |
Задает значение по умолчанию для всего приложения для свойства, определенного |
SetDefaultFont(Font) |
Задает значение по умолчанию Font для процесса. |
SetHighDpiMode(HighDpiMode) |
Задает режим высокого DPI процесса. |
SetSuspendState(PowerState, Boolean, Boolean) |
Приостанавливает работу системы или переводит ее в спящий режим или же запрашивает приостановку работы системы или перевод ее в спящий режим. |
SetUnhandledExceptionMode(UnhandledExceptionMode) |
Указывает, как приложение должно реагировать на необработанные исключения. |
SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean) |
Предоставляет приложению инструкции, определяющие, как приложение должно отвечать на необработанные исключения, при необходимости применяя поведение, зависящее от потока. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
UnregisterMessageLoop() |
Отменяет регистрацию ответного вызова цикла обработки сообщений, сделанного с помощью метода RegisterMessageLoop(Application+MessageLoopCallback). |
События
ApplicationExit |
Происходит при закрытии приложения. |
EnterThreadModal |
Происходит при переходе приложения в модальное состояние. |
Idle |
Происходит, когда приложение заканчивает обработку и собирается перейти в состояние простоя. |
LeaveThreadModal |
Возникает, когда приложение собирается выйти из модального состояния. |
ThreadException |
Происходит при выдаче неперехваченного исключения потока. |
ThreadExit |
Происходит при закрытии потока. Перед закрытием главного потока для приложения вызывается данное событие, за которым следует событие ApplicationExit. |