System windows forms events

Application. Do Events Метод

Определение

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

Примеры

В следующем примере кода демонстрируется использование DoEvents метода. The following code example demonstrates using the DoEvents method. При выполнении примера пользователь может выбрать графические файлы из OpenFileDialog . When the example runs, a user can select graphics files from an OpenFileDialog. Выбранные файлы отображаются в форме. The selected files are displayed in the form. DoEventsМетод принудительно выполняет перерисовку формы для каждого открытого графического файла. The DoEvents method forces a repaint of the form for each graphics file opened. Чтобы выполнить этот пример, вставьте следующий код в форму, содержащую PictureBox именованную PictureBox1 , OpenFileDialog именованную OpenFileDialog1 и кнопку fileButton с именем. To run this example, paste the following code in a form containing a PictureBox named PictureBox1 , an OpenFileDialog named OpenFileDialog1 , and a button named fileButton . Вызовите InitializePictureBox InitializeOpenFileDialog методы и из конструктора или Load метода формы. Call the InitializePictureBox and InitializeOpenFileDialog methods from the form’s constructor or Load method.

В Visual Studio при добавлении OpenFileDialog в форму с помощью операции перетаскивания необходимо изменить следующий InitializeOpenFileDialog метод, удалив строку, которая создает новый экземпляр OpenFileDialog . In Visual Studio, if you add an OpenFileDialog to your form by using a drag operation, you will have to modify the following InitializeOpenFileDialog method by removing the line that creates a new instance of OpenFileDialog.

В этом примере также требуется, Control.Click Button чтобы событие элемента управления и FileOk событие объекта OpenFileDialog были подключены к обработчикам событий, определенным в примере. The example also requires that the Control.Click event of the Button control and the FileOk event of the OpenFileDialog are connected to the event handlers defined in the example. При выполнении примера откройте диалоговое окно, нажав кнопку. When the example is running, display the dialog box by clicking the button.

Комментарии

При запуске формы Windows Forms создается новая форма, которая затем ожидает, пока события будут обработаны. When you run a Windows Form, it creates the new form, which then waits for events to handle. Каждый раз, когда форма обрабатывает событие, она обрабатывает весь код, связанный с этим событием. Each time the form handles an event, it processes all the code associated with that event. Все остальные события ожидают в очереди. All other events wait in the queue. Пока код обрабатывает событие, приложение не отвечает. While your code handles the event, your application does not respond. Например, окно не перерисовывается, если в верхней части перетаскивается другое окно. For example, the window does not repaint if another window is dragged on top.

При вызове DoEvents в коде приложение может управлять другими событиями. If you call DoEvents in your code, your application can handle the other events. Например, при наличии формы, добавляющей данные в ListBox и добавляя их DoEvents в код, форма перерисовывается при перетаскивании другого окна. For example, if you have a form that adds data to a ListBox and add DoEvents to your code, your form repaints when another window is dragged over it. Если удалить DoEvents из кода, форма не будет перерисовываться до завершения выполнения обработчика событий нажатия кнопки. If you remove DoEvents from your code, your form will not repaint until the click event handler of the button is finished executing. Дополнительные сведения об обмене сообщениями см. в разделе Ввод данных пользователем в Windows Forms. For more information on messaging, see User Input in Windows Forms.

Читайте также:  Драйвер для наушников windows 10 sades

В отличие от Visual Basic 6,0, DoEvents метод не вызывает Thread.Sleep метод. Unlike Visual Basic 6.0, the DoEvents method does not call the Thread.Sleep method.

Как правило, этот метод используется в цикле для обработки сообщений. Typically, you use this method in a loop to process messages.

Вызов этого метода приводит к приостановке текущего потока во время обработки всех ожидающих окон сообщений. Calling this method causes the current thread to be suspended while all waiting window messages are processed. Если сообщение вызывает срабатывание события, то могут выполняться другие области кода приложения. If a message causes an event to be triggered, then other areas of your application code may execute. Это может привести к тому, что приложение будет демонстрировать непредвиденные поведения, которые трудно отладить. This can cause your application to exhibit unexpected behaviors that are difficult to debug. При выполнении операций или вычислений, которые выполняются длительное время, часто бывает предпочтительнее выполнить эти операции в новом потоке. If you perform operations or computations that take a long time, it is often preferable to perform those operations on a new thread. Дополнительные сведения об асинхронном программировании см. в разделе модель асинхронного программирования (APM). For more information about asynchronous programming, see Asynchronous Programming Model (APM).

Практическое руководство. Создание обработчиков событий для Windows Forms во время выполнения How to: Create Event Handlers at Run Time for Windows Forms

Помимо создания событий с помощью конструктор Windows Forms в Visual Studio можно также создать обработчик событий во время выполнения. In addition to creating events using the Windows Forms Designer in Visual Studio, you can also create an event handler at run time. Это позволит подключать обработчики событий в зависимости от условий в коде во время выполнения, а не при начальном запуске программы. This action allows you to connect event handlers based on conditions in code at run time as opposed to having them connected when the program initially starts.

Создание обработчика событий во время выполнения Create an event handler at run time

Откройте форму, в которую нужно добавить обработчик событий. Open the form that you want to add an event handler to.

Добавьте метод в форму с сигнатурой метода для события, которое будет необходимо обрабатывать. Add a method to your form with the method signature for the event that you want to handle.

Например, при обработке Click события Button элемента управления необходимо создать метод, подобный следующему: For example, if you were handling the Click event of a Button control, you would create a method such as the following:

Добавьте код в обработчик событий в зависимости от приложения. Add code to the event handler as appropriate to your application.

Определите форму или элемент управления, для которого необходимо создать обработчик событий. Determine which form or control you want to create an event handler for.

В методе внутри класса формы добавьте код, в соответствии с которым обработчик событий будет обрабатывать событие. In a method within your form’s class, add code that specifies the event handler to handle the event. Например, следующий код указывает обработчик событий button1_Click , обрабатывающий Click событие Button элемента управления: For example, the following code specifies the event handler button1_Click handles the Click event of a Button control:

Порядок событий в формах Windows Forms Order of Events in Windows Forms

Особый интерес для разработчиков представляет порядок, в котором вызываются события в приложениях Windows Forms, для обеспечения обработки каждого из этих событий в свою очередь. The order in which events are raised in Windows Forms applications is of particular interest to developers concerned with handling each of these events in turn. Если ситуация требует аккуратной обработки событий, например когда производится перерисовка части формы, то необходимо знать точный порядок, в котором вызываются события во время выполнения. When a situation calls for meticulous handling of events, such as when you are redrawing parts of the form, an awareness of the precise order in which events are raised at run time is necessary. В этом разделе приведены некоторые сведения о порядке событий, возникающих на нескольких важных этапах жизненного цикла приложений и элементов управления. This topic provides some details on the order of events during several important stages in the lifetime of applications and controls. Конкретные сведения о порядке событий ввода мыши см. в разделе события мыши в Windows Forms. For specific details about the order of mouse input events, see Mouse Events in Windows Forms. Общие сведения о событиях в Windows Forms см. в разделе Общие сведения о событиях. For an overview of events in Windows Forms, see Events Overview. Дополнительные сведения о описывающего обработчиков событий см. в разделе Общие сведения об обработчиках событий. For details about the makeup of event handlers, see Event Handlers Overview.

Читайте также:  No such file or directory ��� ��������� linux

События запуска и завершения работы приложения Application Startup and Shutdown Events

Классы Form и Control предоставляют набор событий, связанных с запуском и завершением приложения. The Form and Control classes expose a set of events related to application startup and shutdown. При запуске приложения Windows Forms события запуска главной формы вызываются в следующем порядке: When a Windows Forms application starts, the startup events of the main form are raised in the following order:

При закрытии приложения события запуска главной формы вызываются в следующем порядке: When an application closes, the shutdown events of the main form are raised in the following order:

Событие ApplicationExit класса Application вызывается после событий завершения работы основной формы. The ApplicationExit event of the Application class is raised after the shutdown events of the main form.

В Visual Basic 2005 содержатся дополнительные события приложений, такие как WindowsFormsApplicationBase.Startup и WindowsFormsApplicationBase.Shutdown. Visual Basic 2005 includes additional application events, such as WindowsFormsApplicationBase.Startup and WindowsFormsApplicationBase.Shutdown.

События, связанные с фокусом и проверками Focus and Validation Events

При изменении фокуса с помощью клавиатуры (при нажатии клавиш TAB, SHIFT+TAB и так далее), путем вызова методов Select или SelectNextControl, либо присвоением свойства ActiveControl текущей форме, события фокуса ввода класса Control происходят в следующем порядке: When you change the focus by using the keyboard (TAB, SHIFT+TAB, and so on), by calling the Select or SelectNextControl methods, or by setting the ActiveControl property to the current form, focus events of the Control class occur in the following order:

При изменении фокуса ввода с помощью мыши или путем вызова метода Focus события фокуса класса Control происходят в следующем порядке. When you change the focus by using the mouse or by calling the Focus method, focus events of the Control class occur in the following order:

Создание обработчиков событий в Windows Forms Creating Event Handlers in Windows Forms

Обработчик событий — это процедура в коде, определяющая, какие действия должны выполняться при возникновении тех или иных событий, например, если пользователь нажимает кнопку или сообщение поступает в очередь. An event handler is a procedure in your code that determines what actions are performed when an event occurs, such as when the user clicks a button or a message queue receives a message. При порождении события запускается получивший его обработчик или несколько обработчиков. When an event is raised, the event handler or handlers that receive the event are executed. События могут назначаться сразу нескольким обработчикам, а методы, которые управляют конкретными событиями, можно изменять динамически. Events can be assigned to multiple handlers, and the methods that handle particular events can be changed dynamically. Для создания обработчиков событий также можно использовать конструктор Windows Forms в Visual Studio. You can also use the Windows Forms Designer in Visual Studio to create event handlers.

в этом разделе In This Section

Общие сведения о событиях Events Overview
Объясняет модель событий и роли делегатов. Explains the event model and the role of delegates.

Общие сведения об обработчиках событий Event Handlers Overview
Описывает порядок обработки событий. Describes how to handle events.

Практические руководства. Создание обработчиков событий во время выполнения для Windows Forms How to: Create Event Handlers at Run Time for Windows Forms
Динамически выдает инструкции по реагированию на системные или пользовательские события. Gives directions for responding to system or user events dynamically.

Читайте также:  Rust ��������� ���������� mac os

Как подключить несколько событий к одному обработчику событий в Windows Forms How to: Connect Multiple Events to a Single Event Handler in Windows Forms
Выдает инструкции по назначению одной и той же функциональности нескольким элементам управления с помощью событий. Gives directions for assigning the same functionality to multiple controls through events.

Порядок событий в Windows Forms Order of Events in Windows Forms
Описывает порядок порождения событий в элементах управления Windows Forms. Describes the order in which events are raised in Windows Forms controls.

Инструкции. Создание обработчиков событий с помощью конструктора Описывает, как использовать конструктор Windows Forms для создания обработчиков событий. How to: Create Event Handlers Using the Designer Describes how to use the Windows Forms Designer to create event handlers.

Событиях Events
Содержит ссылки на разделы, посвященные обработке и вызову событий с помощью .NET Framework. Provides links to topics on handling and raising events using the .NET Framework.

Устранение неполадок унаследованных обработчиков событий в Visual Basic Troubleshooting Inherited Event Handlers in Visual Basic
Представляет распространенные проблемы, возникающие у обработчиков событий в наследуемых компонентах. Lists common issues that occur with event handlers in inherited components.

Обзор обработчиков событий (Windows Forms) Event Handlers Overview (Windows Forms)

Обработчик событий — это метод, привязанный к событию. An event handler is a method that is bound to an event. При возникновении события выполняется код в обработчике событий. When the event is raised, the code within the event handler is executed. Каждый обработчик событий предоставляет два параметра, которые позволяют правильно управлять событием. Each event handler provides two parameters that allow you to handle the event properly. В следующем примере показан обработчик событий для Button события элемента управления Click . The following example shows an event handler for a Button control’s Click event.

Первый параметр, sender предоставляет ссылку на объект, который вызвал событие. The first parameter, sender , provides a reference to the object that raised the event. Второй параметр, e , в приведенном выше примере, передает объект, относящийся к обрабатываемому событию. The second parameter, e , in the example above, passes an object specific to the event that is being handled. Ссылаясь на свойства объекта (и иногда его методы), можно получить такие сведения, как расположение мыши для событий мыши или данных, передаваемых в событиях перетаскивания. By referencing the object’s properties (and, sometimes, its methods), you can obtain information such as the location of the mouse for mouse events or data being transferred in drag-and-drop events.

Обычно каждое событие создает обработчик событий с другим типом объекта события для второго параметра. Typically each event produces an event handler with a different event-object type for the second parameter. Некоторые обработчики событий, например MouseDown MouseUp события и, имеют один и тот же тип объекта для второго параметра. Some event handlers, such as those for the MouseDown and MouseUp events, have the same object type for their second parameter. Для этих типов событий можно использовать один и тот же обработчик событий для обработки обоих событий. For these types of events, you can use the same event handler to handle both events.

Можно также использовать один и тот же обработчик событий для обработки одного и того же события для различных элементов управления. You can also use the same event handler to handle the same event for different controls. Например, если RadioButton в форме имеется группа элементов управления, можно создать один обработчик событий для Click события и связать событие каждого элемента управления Click с одним обработчиком событий. For example, if you have a group of RadioButton controls on a form, you could create a single event handler for the Click event and have each control’s Click event bound to the single event handler. Дополнительные сведения см. в разделе руководство. Подключение нескольких событий к одному обработчику событий в Windows Forms. For more information, see How to: Connect Multiple Events to a Single Event Handler in Windows Forms.

Оцените статью