今天看了委托的方法在窗体间传值,不错。NICE.在CSDN上面看的,拿来,嘿嘿
原问地址:http://topic.csdn.net/t/20061128/09/5189957.html
定义一个代理,注意这个代理是全局的:  
  public   delegate   void   MyInvoke(string   Item1,string   Item2,string   Item3);  
   
  //在窗体From2中有这么一个回调函数,用于在ListView里添加一个新项的:  
  private   void   UpdateListView(string   Item1,string   Item2,string   Item3)  
  {  
          ListView1.Items.Add(Item1);  
          ListView1.Items[ListView1.Items.Count   -   1].SubItems.Add(Item2);  
          ListView1.Items[ListView1.Items.Count   -   1].SubItems.Add(Item3);  
  }  
   
  //比如说点击Form2的一个按钮弹出Form1进行录入,在点击按钮的事件下:  
  //把委托传过去  
  Form1   frmEdit=new   Form1(new   MyInvoke(UpdateListView));  
  frmEdit.ShowDialog(this);  
   
  //在Form1里定义一个属性  
  private   MyInvoke   mi=null;  
   
  在构造函数中接收这个委托:  
  public   Form1(MyInvoke   myInvoke)  
  {  
        this.mi=myInvoke;  
  }  
   
  //录入数据后,点击OK按钮,在点击事件下:  
  //回调  
  this.mi(this.TextBox1.Text,this.TextBox3.Text,this.TextBox3.Text);  
  this.Close();//关闭Form1  
posted on 2007-07-10 16:32  Thunderdanky  阅读(214)  评论(0)    收藏  举报