book Windows.Forms FAQ:
5.42 How do I catch a doubleclick in my datagrid?
http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp#q869q

解决方案 »

  1.   

    DataGridTableStyle ts1 = new DataGridTableStyle();
    ts1.MappingName = "Customers";
    // Set other properties.
    ts1.AlternatingBackColor = Color.LightGray;
    //
    // Add textbox column style so we can catch textbox mouse clicks
    DataGridTextBoxColumn TextCol = new DataGridTextBoxColumn();
    TextCol.MappingName = "custID";
    TextCol.HeaderText = "CustomerID";
    TextCol.Width = 100;
    //add handler
    TextCol.TextBox.MouseDown += new MouseEventHandler(TextBoxMouseDownHandler);
    TextCol.TextBox.DoubleClick += new EventHandler(TextBoxDoubleClickHandler);
    ts1.GridColumnStyles.Add(TextCol);TextCol = new DataGridTextBoxColumn();
    TextCol.MappingName = "custName";
    TextCol.HeaderText = "Customer Name";
    TextCol.Width = 100;
    //add handler
    TextCol.TextBox.MouseDown += new MouseEventHandler(TextBoxMouseDownHandler);
    TextCol.TextBox.DoubleClick += new EventHandler(TextBoxDoubleClickHandler);
    ts1.GridColumnStyles.Add(TextCol);dataGrid1.TableStyles.Add(ts1);private void TextBoxDoubleClickHandler(object sender, EventArgs e)
    {
    MessageBox.Show("TrueDoubleClick");
    } private void TextBoxMouseDownHandler(object sender, MouseEventArgs e)
    {
    if(DateTime.Now < gridMouseDownTime.AddMilliseconds(SystemInformation.DoubleClickTime))
    {
    MessageBox.Show("GridDoubleClick");
    }
    Console.WriteLine("TextBoxMouseDownHandler  " );
    } private void dataGrid1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    gridMouseDownTime = DateTime.Now;
    Console.WriteLine("dataGrid1_MouseDown  " );
    }
      

  2.   

    saucer(思归),谢谢你!我在看,还有其他的方法吗?
      

  3.   

    去看看这个:
    http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=FF4194C5-D14B-4828-57CE-468ED6FB421B