窗体间参数传递&以及事件的简单理解

来源:互联网 发布:9553软件下载。 编辑:程序博客网 时间:2024/06/09 14:18

点窗体Form1中的按钮,弹出Form2,在Form2中的文本框中输入字符,点确定按钮。Form2文本框中的内容显示在Form1的Label中。

首先在Form2中定义委托和事件。

public delegate void SendMess (string str);
  public event SendMess send;

然后在Form2中,点确定按钮触发事件

 private void button1_Click(object sender, System.EventArgs e)
  {
   send(this.textBox1 .Text );
  }

在Form1中new Form2.

private Form2 frm2=new Form2 ();

在InitializeComponent()中关联事件

frm2.send +=new Invoke.Form2.SendMess(send);

在Form中写关联的send方法

  public void send(string str)
  {
   this.label1 .Text =str;
  }

Form1中点按钮弹出Form2

  private void button1_Click(object sender, System.EventArgs e)
  {
  
   frm2.ShowDialog ();
  }

完成了。试试吧。
总结一下:
关于事件:
1、在一个类中定义委托和事件
定义事件的方法
public event SendMess send
SendMess是刚才定义的委托名。这两处要一致。
2、在某个事件中触发这个事件
3、在另一个类中new 这个类并关联事件(创建委托实例)
frm2.send +=new Invoke.Form2.SendMess(send);
invoke为我的工程名。
 

原创粉丝点击