Button click event in windows form

Практическое руководство. Создание обработчиков событий для 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:

Control. Click Событие

Определение

Происходит при щелчке элемента управления. Occurs when the control is clicked.

Тип события

Примеры

В следующем примере кода показано Click событие в обработчике событий. The following code example shows the Click event in an event handler.

Комментарии

ClickСобытие передает EventArgs в обработчик событий, поэтому он указывает только на то, что произошло нажатие. The Click event passes an EventArgs to its event handler, so it only indicates that a click has occurred. Если вам нужны более конкретные сведения о мыши (кнопка, число щелчков, поворот колесика или расположение), используйте MouseClick событие. If you need more specific mouse information (button, number of clicks, wheel rotation, or location), use the MouseClick event. Однако MouseClick событие не будет вызываться, если щелчок вызывается действием, отличным от мыши, например нажатием клавиши ВВОД. However, the MouseClick event will not be raised if the click is caused by action other than that of the mouse, such as pressing the ENTER key.

Читайте также:  Linux как установить path

Двойной щелчок определяется параметрами мыши операционной системы пользователя. A double-click is determined by the mouse settings of the user’s operating system. Пользователь может задать время между нажатиями кнопки мыши, которые будут считаться двойным щелчком, а не двумя отдельными щелчками. The user can set the time between clicks of a mouse button that should be considered a double-click rather than two clicks. ClickСобытие возникает каждый раз при двойном щелчке элемента управления. The Click event is raised every time a control is double-clicked. Например, если у вас есть обработчики событий для Click DoubleClick событий и Form , Click DoubleClick события и вызываются при двойном щелчке формы и вызове обоих методов. For example, if you have event handlers for the Click and DoubleClick events of a Form, the Click and DoubleClick events are raised when the form is double-clicked and both methods are called. Если элемент управления дважды щелкнул, и этот элемент управления не поддерживает DoubleClick событие, Click событие может быть вызвано дважды. If a control is double-clicked and that control does not support the DoubleClick event, the Click event might be raised twice.

StandardClick ControlStyles Чтобы true это событие было создано, необходимо задать значение. You must set the StandardClick value of ControlStyles to true for this event to be raised.

Следующие события не вызываются для TabControl класса, если в коллекции не существует хотя бы одного TabPage из них TabControl.TabPages : Click , DoubleClick , MouseDown , MouseUp , MouseHover , MouseEnter MouseLeave и MouseMove . The following events are not raised for the TabControl class unless there is at least one TabPage in the TabControl.TabPages collection: Click, DoubleClick, MouseDown, MouseUp, MouseHover, MouseEnter, MouseLeave and MouseMove. Если в коллекции есть хотя бы один TabPage элемент, и пользователь взаимодействует с заголовком элемента управления вкладки (где TabPage отображаются имена), TabControl вызывается соответствующее событие. If there is at least one TabPage in the collection, and the user interacts with the tab control’s header (where the TabPage names appear), the TabControl raises the appropriate event. Однако если взаимодействие с пользователем происходит в клиентской области страницы вкладки, TabPage вызывается соответствующее событие. However, if the user interaction is within the client area of the tab page, the TabPage raises the appropriate event.

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

Примечания к наследникам Notes to inheritors

Наследование от стандартного элемента управления Windows Forms и изменение StandardClick значений или в StandardDoubleClick ControlStyles to true может привести к непредвиденному поведению или не иметь никакого влияния на все, если элемент управления не поддерживает Click события или DoubleClick . Inheriting from a standard Windows Forms control and changing the StandardClick or StandardDoubleClick values of ControlStyles to true can cause unexpected behavior or have no effect at all if the control does not support the Click or DoubleClick events.

В следующей таблице перечислены Windows Formsные элементы управления и события, которые Click DoubleClick вызываются в ответ на указанное действие мыши. The following table lists Windows Forms controls and which event (Click or DoubleClick) is raised in response to the mouse action specified.

Control Control Щелчок левой кнопкой мыши Left Mouse Click Двойной щелчок левой кнопкой мыши Left Mouse Double Click Щелчок правой кнопкой мыши Right Mouse Click Двойной щелчок правой кнопкой мыши Right Mouse Double Click Щелчок средней кнопкой мыши Middle Mouse Click Двойной щелчок средней кнопкой мыши Middle Mouse Double Click Щелчок мыши XButton1 XButton1 Mouse Click Double-Click мыши XButton1 XButton1 Mouse Double-Click Щелчок мыши XButton2 XButton2 Mouse Click Double-Click мыши XButton2 XButton2 Mouse Double-Click
MonthCalendar, DateTimePicker, HScrollBar, VScrollBar MonthCalendar, DateTimePicker, HScrollBar, VScrollBar нет none нет none нет none нет none нет none нет none нет none нет none нет none нет none
Button, CheckBox, RichTextBox, RadioButton Button, CheckBox, RichTextBox, RadioButton Щелкните Click Щелкните, щелкните Click, Click нет none нет none нет none нет none нет none нет none нет none нет none
ListBox, CheckedListBox, ComboBox ListBox, CheckedListBox, ComboBox Щелкните Click Щелкните, DoubleClick Click, DoubleClick нет none нет none нет none нет none нет none нет none нет none нет none
TextBox, DomainUpDown, NumericUpDown TextBox, DomainUpDown, NumericUpDown Щелкните Click Щелкните, DoubleClick Click, DoubleClick нет none нет none нет none нет none нет none нет none нет none нет none
* TreeView, * ListView * TreeView, * ListView Щелкните Click Щелкните, DoubleClick Click, DoubleClick Щелкните Click Щелкните, DoubleClick Click, DoubleClick нет none нет none нет none нет none нет none нет none
ProgressBar, TrackBar ProgressBar, TrackBar Щелкните Click Щелкните, щелкните Click, Click Щелкните Click Щелкните, щелкните Click, Click Щелкните Click Щелкните, щелкните Click, Click Щелкните Click Щелкните, щелкните Click, Click Щелкните Click Щелкните, щелкните Click, Click
Form, DataGrid, Label, LinkLabel, Panel, GroupBox, PictureBox, Splitter, StatusBar, ToolBar, TabPage, ** TabControl Form, DataGrid, Label, LinkLabel, Panel, GroupBox, PictureBox, Splitter, StatusBar, ToolBar, TabPage, ** TabControl Щелкните Click Щелкните, DoubleClick Click, DoubleClick Щелкните Click Щелкните, DoubleClick Click, DoubleClick Щелкните Click Щелкните, DoubleClick Click, DoubleClick Щелкните Click Щелкните, DoubleClick Click, DoubleClick Щелкните Click Щелкните, DoubleClick Click, DoubleClick

* Указатель мыши должен находиться над дочерним объектом ( TreeNode или ListViewItem ). * The mouse pointer must be over a child object (TreeNode or ListViewItem).

* * В TabControl коллекции должен быть по крайней мере один TabPage TabPages . ** The TabControl must have at least one TabPage in its TabPages collection.

Практическое руководство. Обработка события нажатия кнопки в Windows Forms How to: Respond to Windows Forms Button Clicks

Самым простым использованием Button элемента управления Windows Forms является выполнение некоторого кода при нажатии кнопки. The most basic use of a Windows Forms Button control is to run some code when the button is clicked.

При щелчке Button элемента управления также создается ряд других событий, таких как MouseEnter события, MouseDown и MouseUp . Clicking a Button control also generates a number of other events, such as the MouseEnter, MouseDown, and MouseUp events. Если вы планируете присоединить обработчики событий для этих связанных событий, убедитесь, что их действия не конфликтуют. If you intend to attach event handlers for these related events, be sure that their actions do not conflict. Например, если нажать кнопку, чтобы очистить сведения, введенные пользователем в текстовое поле, при наведении указателя мыши на кнопку не должно отображаться всплывающая подсказка с несуществующими сведениями. For example, if clicking the button clears information that the user has typed in a text box, pausing the mouse pointer over the button should not display a tool tip with that now-nonexistent information.

Если пользователь пытается дважды щелкнуть Button элемент управления, каждый щелчок будет обрабатываться отдельно, то есть элемент управления не поддерживает событие двойного щелчка. If the user attempts to double-click the Button control, each click will be processed separately; that is, the control does not support the double-click event.

Реагирование на нажатие кнопки To respond to a button click

В этой кнопке Click EventHandler напишите код для выполнения. In the button’s Click EventHandler write the code to run. Button1_Click должен быть привязан к элементу управления. Button1_Click must be bound to the control. Дополнительные сведения см. в разделе инструкции. Создание обработчиков событий во время выполнения для Windows Forms. For more information, see How to: Create Event Handlers at Run Time for Windows Forms.

Event for Click in any button (C# windows forms)

I’m developing a program that has many buttons that should do a similar action when clicked, but with a small difference based on which button was clicked. The problem is that the only straightforward path is to code this for each button, which would be a very repetitive task. Is there a way to program simply one block that would get the click on any button and which button was clicked?

4 Answers 4

Assign the same event handler to all buttons.

Or you can select the same event handler in the properties window switched to events (flash icon).

You can also add some useful information to the Tag property for the disambiguation. And last but not least, you can derive your own button from Button and add appropriate properties. They will even appear in the properties window.

Create a button click handler by double-clicking one of the buttons. But instead of doing the same with the other buttons, go to the properties window and switch to events view. Now select each one of the remaining buttons in turn and choose the just created click handler from the drop down list of the Click event of the other buttons in the properties Window. Now they all trigger the same method when they are clicked.

Or you can define a value for the Tag property of the buttons in the properties window and use it directly without having to use a switch- or if-statement.

You can also test for specific buttons directly with sender == button1 , but this does not work in a switch statement.

It might be easier to create your own button deriving from Button and to add the required properties. Once compiled, your button appears in the Toolbox and your properties can be set in the properties window.

Control. On Click(EventArgs) Метод

Определение

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

Параметры

Объект класса EventArgs, содержащий данные события. An EventArgs that contains the event data.

Примеры

В следующем примере кода показано переопределение OnClick метода в производном классе. The following code example demonstrates overriding the OnClick method in a derived class. Чтобы выполнить пример, вставьте следующий код после класса Form в тот же файл. To run the example, paste the following code after a form class, in the same file. Добавьте в форму текстовое поле типа SingleClickTextBox . Add a textbox of type SingleClickTextBox to the form.

В следующем примере кода показано одно из многих применений Click события и обработчика событий. The following code example shows one of the many uses of the Click event and event handler.

Комментарии

При возникновении события через делегат вызывается обработчик события. Raising an event invokes the event handler through a delegate. Дополнительные сведения см. в разделе обработка и вызов событий. For more information, see Handling and Raising Events.

Метод OnClick также позволяет производным классам обрабатывать событие, не присоединяя делегат. The OnClick method also allows derived classes to handle the event without attaching a delegate. Это предпочтительная методика обработки событий в производном классе. This is the preferred technique for handling the event in a derived class.

Примечания для тех, кто наследует этот метод

При переопределении метода OnClick(EventArgs) в производном классе нужно убедиться, что вызывается метод OnClick(EventArgs) базового класса, чтобы зарегистрированные делегаты получили событие. When overriding OnClick(EventArgs) in a derived class, be sure to call the base class’s OnClick(EventArgs) method so that registered delegates receive the event.

Читайте также:  Tor with kali linux
Оцените статью