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 для получения или задания сведений о языке и региональных параметрах для текущего потока.
Невозможно создать экземпляр этого класса.
Allow |
Получает значение, определяющее, может ли вызывающий объект выйти из этого приложения. |
Color |
Предоставляет методы и свойства |
Common |
Получает путь для данных приложения, являющихся общими для всех пользователей. |
Common |
Получает раздел реестра для данных приложения, являющихся общими для всех пользователей. |
Company |
Возвращает название компании, сопоставленное с приложением. |
Current |
Получает или задает данные о языке и региональных параметрах для текущего потока. |
Current |
Получает или задает текущий язык ввода для текущего потока. |
Executable |
Получает путь для исполняемого файла, запустившего приложение, включая исполняемое имя. |
High |
Возвращает текущий режим высокого DPI для данного приложения. |
Is |
Предоставляет методы и свойства |
Local |
Получает путь для данных приложения локального неперемещающегося пользователя. |
Message |
Получает значение, указывающее, существует ли цикл обработки сообщений в данном потоке. |
Open |
Получает коллекцию открытых форм, принадлежащих приложению. |
Product |
Получает название продукта, сопоставленного с данным приложением. |
Product |
Получает версию продукта, сопоставленную с данным приложением. |
Render |
Получает значение, указывающее, будет ли текущее приложение прорисовывать элементы управления с помощью визуальных стилей. |
Safe |
Получает или задает строку формата для использования в заголовках окон верхнего уровня, когда они отображаются с предупреждающим объявлением. |
Startup |
Получает путь для исполняемого файла, запустившего приложение, не включая исполняемое имя. |
System |
Предоставляет методы и свойства |
User |
Получает путь для данных приложения пользователя. |
User |
Получает раздел реестра для данных приложения пользователя. |
Use |
Возвращает значение, указывающее, включены ли визуальные стили для приложения. |
Use |
Получает или задает значение, которое указывает, используется ли курсор ожидания для всех открытых форм приложения. |
Visual |
Получает значение, указывающее, каким образом визуальные стили применяются к окну приложения. |
Add |
Добавляет фильтр сообщений для мониторинга сообщений Windows при их маршрутизации к местам назначения. |
Do |
Обрабатывает все сообщения Windows, которые в данный момент находятся в очереди сообщений. |
Enable |
Включает визуальные стили для приложения. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Exit() |
Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений. |
Exit(Cancel |
Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений. |
Exit |
Выходит из цикла обработки сообщений в текущем потоке и закрывает все окна в потоке. |
Filter |
Запускает любые фильтры для сообщения окна и возвращает копию измененного сообщения. |
Get |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
Get |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
Memberwise |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
Ole |
Инициализирует OLE в текущем потоке. |
On |
Вызывает событие ThreadException. |
Raise |
Вызывает событие Idle в размещенных скриптах. |
Register |
Регистрирует ответный вызов, чтобы проверить, выполняется ли цикл обработки сообщений в размещенных средах. |
Remove |
Удаляет фильтр сообщений из средства переноса сообщений приложения. |
Restart() |
Завершает работу приложения и немедленно запускает новый экземпляр. |
Run() |
Запускает стандартный цикл обработки сообщений приложения в текущем потоке, без формы. |
Run(Application |
Запускает стандартный цикл обработки сообщений приложения в текущем потоке с ApplicationContext. |
Run(Form) |
Запускает стандартный цикл обработки сообщений приложения в текущем потоке и делает указанную форму видимой. |
Set |
Предоставляет методы и свойства |
Set |
Задает значение по умолчанию для всего приложения для свойства, определенного |
Set |
Задает значение по умолчанию Font для процесса. |
Set |
Задает режим высокого DPI процесса. |
Set |
Приостанавливает работу системы или переводит ее в спящий режим или же запрашивает приостановку работы системы или перевод ее в спящий режим. |
Set |
Указывает, как приложение должно реагировать на необработанные исключения. |
Set |
Предоставляет приложению инструкции, определяющие, как приложение должно отвечать на необработанные исключения, при необходимости применяя поведение, зависящее от потока. |
To |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Unregister |
Отменяет регистрацию ответного вызова цикла обработки сообщений, сделанного с помощью метода RegisterMessageLoop(Application+MessageLoopCallback). |
Application |
Происходит при закрытии приложения. |
Enter |
Происходит при переходе приложения в модальное состояние. |
Idle |
Происходит, когда приложение заканчивает обработку и собирается перейти в состояние простоя. |
Leave |
Возникает, когда приложение собирается выйти из модального состояния. |
Thread |
Происходит при выдаче неперехваченного исключения потока. |
Thread |
Происходит при закрытии потока. Перед закрытием главного потока для приложения вызывается данное событие, за которым следует событие ApplicationExit. |