Control.DoubleClick 事件

定义

在双击控件时发生。

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

事件类型

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 事件。 例如,如果为 a Form的和事件提供事件处理程序ClickClick则当双击窗体并DoubleClick调用这两种方法时,将引发和DoubleClick事件。 如果双击某个控件并且该控件不支持 DoubleClick 该事件, Click 则可能会引发该事件两次。

必须设置StandardDoubleClick要引发此事件的和StandardClicktrueControlStyles。 These values might already be set to true if you are inheriting from existing Windows Forms controls.

备注

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

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

继承者说明

继承自标准Windows 窗体控件,并更改StandardClicktrueStandardDoubleClickControlStyles可能会导致意外行为或完全无效(如果控件不支持ClickDoubleClick事件)。

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

控制 鼠标左键单击 鼠标左键双击 右键单击 右键单击鼠标双击 鼠标中键单击 鼠标中间双击 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

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

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

适用于

另请参阅