日期:2014-05-17  浏览次数:20909 次

winform中如何传递一个事件到另一个窗体
Form1:

 public void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
   //to do......
}


Form2:

private void button1_Click(object sender, EventArgs e)
{
  //这里要执行form1中的dataGridView1_CellFormatting事件怎样写?
}

由于两个事件的参数对应不上,不知道如何在form2中触发dataGridView1_CellFormatting事件。
求高手给个调用带不同参数的事件代码范例,或者帮实现实现。谢谢了。最好能带上详细的注释。

------解决方案--------------------
你在Form2里面申明一个事件
  public  envent DataGridViewCellFormattingEventArgs DoWork(object sender, DataGridViewCellFormattingEventArgs e);
再在Form1里面去注册,去实现dataGridView1_CellFormatting(......){//to do}中的方法,

public void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
   //调用注册的事件方法
}
 
最后在Form2里面判断
private void button1_Click(object sender, EventArgs e)
{
  if(DoWork!=null)
{
DoWork(......);
}
}

纯手打,没有具体操作过