Меню Рубрики

Что такое обработчик событий в windows forms

Что такое обработчик событий в windows forms

Для взаимодействия с пользователем в Windows Forms используется механизм событий. События в Windows Forms представляют стандартные события на C#, только применяемые к визуальным компонентам и подчиняются тем же правилам, что события в C#. Но создание обработчиков событий в Windows Forms все же имеет некоторые особенности.

Прежде всего в WinForms есть некоторый стандартный набор событий, который по большей части имеется у всех визуальных компонентов. Отдельные элементы добавляют свои события, но принципы работы с ними будут похожие. Чтобы посмотреть все события элемента, нам надо выбрать этот элемент в поле графического дизайнера и перейти к вкладке событий на панели форм. Например, события формы:

Чтобы добавить обработчик, можно просто два раза нажать по пустому полю рядом с названием события, и после этого Visual Studio автоматически сгенерирует обработчик события. Например, нажмем для создания обработчика для события Load :

И в этом поле отобразится название метода обработчика события Load. По умолчанию он называется Form1_Load .

Если мы перейдем в файл кода формы Form1.cs, то увидим автосгенерированный метод Form1_Load:

И при каждой загрузке формы будет срабатывать код в обработчике Form1_Load.

Как правило, большинство обработчиков различных визуальных компонентов имеют два параметра: sender — объект, инициировавший событие, и аргумент, хранящий информацию о событии (в данном случае EventArgs e ).

Но это только обработчик. Добавление же обработчика, созданного таким образом, производится в файле Form1.Designer.cs:

Для добавления обработчика используется стандартный синтаксис C#: this.Load += new System.EventHandler(this.Form1_Load)

Поэтому если мы захотим удалить созданный подобным образом обработчик, то нам надо не только удалить метод из кода формы в Form1.cs, но и удалить добавление обработчика в этом файле.

Однако мы можем добавлять обработчики событий и програмно, например, в конструкторе формы:

Источник

Обработка событий в Windows Forms

GUI управляется событиями. Приложение выполняет действия в ответ на события, вызванные пользователем, например, на щелчок кнопкой мыши или выбор пункта меню. Например, у каждой формы есть код, обрабатывающий событие MouseDown (Кнопка мыши нажата). В Windows Forms применяется модель обработки событий .NET, в которой делегаты используются для того, чтобы связать события с обрабатывающими их методами. В классах Windows Forms используются групповые делегаты. Групповой делегат содержит список связанных с ним методов. Когда в приложении происходит событие, управляющий элемент возбуждает событие, вызвав делегат для этого события. Потом делегат вызывает связанные с ним методы. Для того чтобы добавить делегат к событию используется перегруженный оператор +=. Например:

this.MouseClick += new MouseEventHandler(this.Form1_MouseClick);

Объявление обработчика для этого события:

private void Form1_MouseClick(object sender, MouseEventArgs e)

В качестве параметра обработчик событий получает объект класса МоuseEventArgs (производный от класса EventArgs). Свойства этого объекта доступны только для чтения и содержат информацию, связанную с данным событием.

· Button (Кнопка) определяет, какая кнопка была нажата,

· Clicks (Щелчки) определяет, сколько раз была нажата и отпущена кнопка,

· Свойство Delta (Дельта) является счетчиком оборотов колесика мыши;

· X и Y — координаты точки, в которой находился указатель в момент нажатия кнопки мыши

Внесем изменения в FirstForm, чтобы при щелчке любой кнопкой мыши строка с приветствием перемещалась на место щелчка.

//Программа 1: Отображает перемещение приветствия по щелчку мыши.
public partial class Form1 : Form <

Float x, y; // координаты

Brush pStdBrush; // Кисть

Graphics poGraphics;

public Form1() <

InitializeComponent();

pStdBrush = new SolidBrush(Color.Black);

poGraphics = this.CreateGraphics();

this.Text = «Программа 2»;

this.Show();

poGraphics.DrawString(«Hello, Window Forms», this.Font, pStdBrush, x, y);

private void Form1_MouseClick(object sender, MouseEventArgs e) <

x = (float)e.X; y = (float)e.Y; // координаты точки щелчка мыши

poGraphics.DrawString(«Hello, Window Forms», this.Font, pStdBrush, x, y);

Параметры метода DrawString:

· шрифт (Font— свойство класса Form, которое определяет шрифт, по умолчанию применяемый для вывода текста в форму),

· координаты в пикселях (числа типа float (с плавающей точкой)).

В качестве стандартной кисти используется черная кисть SolidBrush.

Во время инициализации программа связывает метод Form1_MouseClick с событием MouseClick. Этот метод устанавливает координаты текста, х и у, равными координатам точки, в которой находился указатель в момент щелчка.

Источник

Form. Shown Событие

Определение

Происходит при первом отображении формы. Occurs whenever the form is first displayed.

Тип события

Примеры

В следующем примере демонстрируется использование этого элемента. The following example demonstrates the use of this member. В этом примере обработчик событий сообщает о возникновении Shown события. In the example, an event handler reports on the occurrence of the Shown event. Этот отчет поможет вам узнать, когда происходит событие и может помочь при отладке. This report helps you to learn when the event occurs and can assist you in debugging. Чтобы сообщить о нескольких событиях или о событиях, которые происходят часто, рассмотрите возможность замены MessageBox.Show Console.WriteLine или добавления сообщения в многострочный TextBox . To report on multiple events or on events that occur frequently, consider replacing MessageBox.Show with Console.WriteLine or appending the message to a multiline TextBox.

Чтобы выполнить пример кода, вставьте его в проект, содержащий экземпляр типа Form с именем Form1 . To run the example code, paste it into a project that contains an instance of type Form named Form1 . Затем убедитесь, что обработчик событий связан с Shown событием. Then ensure that the event handler is associated with the Shown event.

Комментарии

ShownСобытие вызывается только при первом отображении формы; последующее свертывание, увеличение, восстановление, скрытие, отображение или невозможность, а также перерисовку не вызовет этого события. The Shown event is only raised the first time a form is displayed; subsequently minimizing, maximizing, restoring, hiding, showing, or invalidating and repainting will not raise this event. Дополнительные сведения о порядке событий формы см. в разделе Порядок событий в Windows Forms. For more information about the order of events of a form, see Order of Events in Windows Forms.

Дополнительные сведения об обработке событий см. в разделе обработка и вызов событий. For more information about handling events, see Handling and Raising Events.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Что такое обновление платформы для windows 7
  • Что такое недавние документы в проводнике windows
  • Что такое накопительное обновление для windows 10
  • Что такое монопольный режим в звуке windows 10
  • Что такое многозадачный режим работы windows