语言

Control.DoubleClick 活动

定义

双击控件时发生。

public:
 event EventHandler ^ DoubleClick;
public event EventHandler DoubleClick;
public event EventHandler? DoubleClick;
member this.DoubleClick : EventHandler 
Public Custom Event DoubleClick As EventHandler 

事件类型

示例

下面的代码示例使用DoubleClick事件ListBox将列表中列出的文本文件加载到ListBox控件中TextBox。

   // This example uses the DoubleClick event of a ListBox to load text files
   // listed in the ListBox into a TextBox control. This example
   // assumes that the ListBox, named listBox1, contains a list of valid file
   // names with path and that this event handler method
   // is connected to the DoublClick event of a ListBox control named listBox1.
   // This example requires code access permission to access files.
private:
   void listBox1_DoubleClick( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      // Get the name of the file to open from the ListBox.
      String^ file = listBox1->SelectedItem->ToString();
      try
      {
         // Determine if the file exists before loading.
         if ( System::IO::File::Exists( file ) )
         {
            
            // Open the file and use a TextReader to read the contents into the TextBox.
            System::IO::FileInfo^ myFile = gcnew System::IO::FileInfo( listBox1->SelectedItem->ToString() );
            System::IO::TextReader^ myData = myFile->OpenText();
            ;
            textBox1->Text = myData->ReadToEnd();
            myData->Close();
         }
      }
      // Exception is thrown by the OpenText method of the FileInfo class.
      catch ( System::IO::FileNotFoundException^ ) 
      {
         MessageBox::Show( "The file you specified does not exist." );
      }
      // Exception is thrown by the ReadToEnd method of the TextReader class.
      catch ( System::IO::IOException^ ) 
      {
         MessageBox::Show( "There was a problem loading the file into the TextBox. Ensure that the file is a valid text file." );
      }
   }
// This example uses the DoubleClick event of a ListBox to load text files
// listed in the ListBox into a TextBox control. This example
// assumes that the ListBox, named listBox1, contains a list of valid file
// names with path and that this event handler method
// is connected to the DoublClick event of a ListBox control named listBox1.
// This example requires code access permission to access files.
private void listBox1_DoubleClick(object sender, System.EventArgs e)
{
    // Get the name of the file to open from the ListBox.
    String file = listBox1.SelectedItem.ToString();

    try
    {
        // Determine if the file exists before loading.
        if (System.IO.File.Exists(file))
        {
            // Open the file and use a TextReader to read the contents into the TextBox.
            System.IO.FileInfo myFile = new System.IO.FileInfo(listBox1.SelectedItem.ToString());
            System.IO.TextReader myData = myFile.OpenText();;

            textBox1.Text = myData.ReadToEnd();
            myData.Close();
        }
    }
        // Exception is thrown by the OpenText method of the FileInfo class.
    catch(System.IO.FileNotFoundException)
    {
        MessageBox.Show("The file you specified does not exist.");
    }
        // Exception is thrown by the ReadToEnd method of the TextReader class.
    catch(System.IO.IOException)
    {
        MessageBox.Show("There was a problem loading the file into the TextBox. Ensure that the file is a valid text file.");
    }
}
' This example uses the DoubleClick event of a ListBox to load text files  
' listed in the ListBox into a TextBox control. This example
' assumes that the ListBox, named listBox1, contains a list of valid file 
' names with path and that this event handler method
' is connected to the DoublClick event of a ListBox control named listBox1.
' This example requires code access permission to access files.
Private Sub listBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles listBox1.DoubleClick
    ' Get the name of the file to open from the ListBox.
    Dim file As [String] = listBox1.SelectedItem.ToString()

    Try
        ' Determine if the file exists before loading.
        If System.IO.File.Exists(file) Then
            ' Open the file and use a TextReader to read the contents into the TextBox.
            Dim myFile As New System.IO.FileInfo(listBox1.SelectedItem.ToString())
            Dim myData As System.IO.TextReader = myFile.OpenText()

            textBox1.Text = myData.ReadToEnd()
            myData.Close()
        End If
        ' Exception is thrown by the OpenText method of the FileInfo class.
    Catch
        MessageBox.Show("The file you specified does not exist.")
        ' Exception is thrown by the ReadToEnd method of the TextReader class.
    Catch
     MessageBox.Show("There was a problem loading the file into the TextBox. Ensure that the file is a valid text file.")
    End Try
End Sub

注解

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

必须设置StandardDoubleClick要引发此事件的和StandardClick值ControlStylestrue。 如果从现有Windows 窗体控件继承,这些值可能已设置为 true。

注释

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

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

继承者说明

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

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

控制 鼠标左键单击 鼠标左键双击 右键单击 鼠标右键双击 鼠标中键单击 鼠标中间双击 XButton1 鼠标单击 XButton1 鼠标 Double-Click XButton2 鼠标单击 XButton2 鼠标 Double-Click
MonthCalendar、

DateTimePicker,

RichTextBox,

HScrollBar,

VScrollBar

没有

无 无 无 无 无 无 无 无 无
Button、

CheckBox,

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

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

TabControl** 集合TabPage中必须至少有一个TabPages。

适用于

另请参阅