Control.Click 事件

定义

在单击控件时发生。

C#
public event EventHandler Click;
C#
public event EventHandler? Click;

事件类型

示例

下面的代码示例演示 Click 事件处理程序中的 事件。

C#
// This example uses the Parent property and the Find method of Control to set
// properties on the parent control of a Button and its Form. The example assumes
// that a Button control named button1 is located within a GroupBox control. The 
// example also assumes that the Click event of the Button control is connected to
// the event handler method defined in the example.
private void button1_Click(object sender, System.EventArgs e)
{
   // Get the control the Button control is located in. In this case a GroupBox.
   Control control = button1.Parent;
   // Set the text and backcolor of the parent control.
   control.Text = "My Groupbox";
   control.BackColor = Color.Blue;
   // Get the form that the Button control is contained within.
   Form myForm = button1.FindForm();
   // Set the text and color of the form containing the Button.
   myForm.Text = "The Form of My Control";
   myForm.BackColor = Color.Red;
}

注解

Click 事件将 传递给 EventArgs 其事件处理程序,因此它仅指示已发生单击。 如果需要更具体的鼠标信息 (按钮、单击次数、滚轮旋转或位置) ,请使用 MouseClick 事件。 但是, MouseClick 如果单击是由鼠标以外的操作(如按 ENTER 键)引起的,则不会引发该事件。

双击由用户操作系统的鼠标设置决定。 用户可以设置两次单击鼠标按钮之间的时间以便将这两次单击认为是双击而不是两次单击。 Click每次双击控件时都会引发 事件。 例如,如果具有 的 ClickDoubleClick 事件的Form事件处理程序,DoubleClickClick则双击窗体并调用这两种方法时,将引发 和 事件。 如果双击某个控件,并且该控件不支持该 DoubleClick 事件,则可能会引发该 Click 事件两次。

必须将 的值ControlStylestrue设置为 StandardClick ,才能引发此事件。

备注

除非集合中至少有一个TabPage事件,否则不会为 TabControl 类引发以下事件:Click、、DoubleClickMouseDownMouseUpMouseHoverMouseEnterMouseLeaveMouseMoveTabControl.TabPages 如果集合中至少有一个 TabPage ,并且用户与选项卡控件的标头交互 (TabPage 名称显示在) ,则会 TabControl 引发相应的事件。 但是,如果用户交互位于选项卡页的工作区内, TabPage 将引发相应的事件。

有关处理事件的详细信息,请参阅 处理和引发事件

继承人的备注

从标准Windows 窗体控件继承并将 的 或 值更改为 StandardClicktrue 可能会导致意外行为,或者如果控件不支持 ClickDoubleClick 事件,则根本不起作用。StandardDoubleClickControlStyles

下表列出了Windows 窗体控件,以及为响应指定的鼠标操作而引发 (或DoubleClick) 的事件Click

控制 鼠标左键单击 鼠标左键双击 鼠标右键单击 鼠标右键双击 鼠标中键单击 鼠标中双击 XButton1 鼠标单击 XButton1 鼠标Double-Click XButton2 鼠标单击 XButton2 鼠标Double-Click
MonthCalendar, DateTimePicker, HScrollBar, VScrollBar
Button, CheckBox, RichTextBox, RadioButton 单击 单击,单击
ListBox, CheckedListBox, ComboBox 单击 单击,DoubleClick
TextBox, DomainUpDown, NumericUpDown 单击 单击,DoubleClick
* TreeView, * ListView 单击 单击,DoubleClick 单击 单击,DoubleClick
ProgressBar, TrackBar 单击 单击,单击 单击 单击,单击 单击 单击,单击 单击 单击,单击 单击 单击,单击
Form, DataGrid, Label, LinkLabel, Panel, GroupBox, PictureBox, Splitter, StatusBar, ToolBar, TabPage, ** TabControl 单击 单击,DoubleClick 单击 单击,DoubleClick 单击 单击,DoubleClick 单击 单击,DoubleClick 单击 单击,DoubleClick

* 鼠标指针必须位于子对象 (TreeNodeListViewItem) 上。

** 集合TabControlTabPages中必须至少有一个TabPage

适用于

产品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

另请参阅