2012-06-20 32 views
3

僅處理DataGridView的行標題上的鼠標單擊事件是什麼情況?單擊DataGridView中的行標題時發生的事件

如果沒有,處理這類事件的替代方法是什麼?

+2

這裏閱讀 - http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rowheadermouseclick.aspx –

+0

你想通過點擊標題實現什麼? –

回答

7

有一個新的WinForms項目和代碼複製粘貼如下: -

enter image description here

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     var list = new List<Books> 
         { 
          new Books() {Title = "Harry Potter", TotalRating = 5}, 
          new Books() {Title = "C#", TotalRating = 5} 
         }; 
     InitializeComponent(); 
     dataGridView1.AutoGenerateColumns = true; 
     dataGridView1.DataSource = list; 
     dataGridView1.RowHeaderMouseClick += new DataGridViewCellMouseEventHandler(OnRowHeaderMouseClick); 
    } 

    void OnRowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) 
    { 
     MessageBox.Show("Clicked RowHeader!"); 
    } 
} 
4

您可以通過下面的代碼獲得行標題:

Private Sub dataGridView1_RowHeaderMouseClick(_ 
    ByVal sender As Object, ByVal e As DataGridViewCellMouseEventArgs) _ 
    Handles dataGridView1.RowHeaderMouseClick 

    Me.dataGridView1.SelectionMode = _ 
     DataGridViewSelectionMode.RowHeaderSelect 
    Me.dataGridView1.Rows(e.RowIndex).Selected = True 

End Sub 

void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) 
    { 
     // 
     // Do something on double click, except when on the header. 
     // 
     if (e.RowIndex == -1) 
     { 
     //this is row header... 
      some code here. 
     } 
     Code... 
    } 
-1
private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) 
     { 
      try 
      { 
       DataGridViewRow dr = dataGridView1.SelectedRows[0]; 
       this.Hide(); 
       frmStock frm2 = new frmStock(); 
       frm2.Show(); 
       frm2.txtStockID.Text = dr.Cells[0].Value.ToString(); 
       frm2.txtConfigID.Text = dr.Cells[1].Value.ToString(); 
       frm2.txtProductname.Text = dr.Cells[2].Value.ToString(); 
       frm2.txtFeatures.Text = dr.Cells[3].Value.ToString(); 
       frm2.txtPrice.Text = dr.Cells[4].Value.ToString(); 
       frm2.txtQty.Text = dr.Cells[5].Value.ToString(); 
       frm2.txtTotalPrice.Text = dr.Cells[6].Value.ToString(); 
       frm2.dtpStockDate.Text = dr.Cells[7].Value.ToString(); 
       frm2.btnUpdate.Enabled = true; 
       frm2.btnDelete.Enabled = true; 
       frm2.btnSave.Enabled = false; 
       frm2.label8.Text = label1.Text; 
      } 

      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
      } 
     } 
相關問題