2015-07-13 134 views
0

我在DataGridView中创建了TableLayoutPanel。那么,如何为每个datagridview右键单击事件? 这里是动态的DataGridView创建源代码如何将鼠标右键点击事件动态创建datagridview

public void makeDataGridView(int num) 
    { 
     for (int i = 0; i < num; i++) 
     { 
      DataGridView[] dgv = new DataGridView[num]; 

      dgv[i] = new DataGridView(); 
      dgv[i].Name = "dgv" + i.ToString(); 
      tableLayoutPanel1.Controls.Add(dgv[i]); 
     } 
    } 

回答

0

你可以试试这个

public void makeDataGridView(int num) 
{ 
    for (int i = 0; i < num; i++) 
    { 
     DataGridView[] dgv = new DataGridView[num]; 

     dgv[i] = new DataGridView(); 
     dgv[i].Name = "dgv" + i.ToString(); 
     dgv[i].MouseDown += onMouseDown; 
     tableLayoutPanel1.Controls.Add(dgv[i]); 
    } 
} 
private void onMouseDown(object sender, MouseEventArgs e) 
{ 
    //var dgv = sender as DataGridView; 
    if (e.Button == MouseButtons.Right) 
    { 
     //perform task ... 
    } 
} 
+0

您也可以使用'MouseUp'事件,而不是'MouseDown'。当您按下按钮时,“MouseDown”将立即触发,但在未按下时,“MouseUp”将触发,就像上下文菜单的行为一样。 –

相关问题