//--------------------------------------- // form1.cs //---------------------------------------- using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data;namespace FormConmunicate { /// <summary> /// Form1 的摘要说明。 /// </summary> public delegate string getText(); public class Form1 : System.Windows.Forms.Form { public System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.Button button1; /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.Container components = null; public Form1() { // // Windows 窗体设计器支持所必需的 // InitializeComponent(); // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // } /// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.textBox1 = new System.Windows.Forms.TextBox(); this.button1 = new System.Windows.Forms.Button(); this.SuspendLayout(); // // textBox1 // this.textBox1.Location = new System.Drawing.Point(64, 40); this.textBox1.Name = "textBox1"; this.textBox1.Size = new System.Drawing.Size(88, 21); this.textBox1.TabIndex = 0; this.textBox1.Text = "textBox1"; // // button1 // this.button1.Location = new System.Drawing.Point(104, 168); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(96, 24); this.button1.TabIndex = 1; this.button1.Text = "button1"; //this.button1.Click += new System.EventHandler(this.button1_Click); // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.Drawing.Size(292, 273); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.button1, this.textBox1}); FormHandel.myFormHandel[0]=(int)this.Handle;
this.Name = "Form1"; this.Text = "Form1"; this.ResumeLayout(false); } #endregion /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Form1 f1=new Form1(); Form2 f2=new Form2(); f2.TextChange+=new TextChangeEventHander(f1.ontextchange); f2.Show(); Application.Run(f1); } private void ontextchange(object sender,Form2EventArg e) { this.textBox1.Text=e.MyText ; } } public class FormHandel { public static int[] myFormHandel={1,2}; } } //----------------------------------------------- // form2.cs //----------------------------------------------- using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; namespace FormConmunicate { /// <summary> /// Form2 的摘要说明。 /// </summary> /// public delegate void TextChangeEventHander(object sender,Form2EventArg e); public class Form2 : System.Windows.Forms.Form { public System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.Button button1; public event TextChangeEventHander TextChange; /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.Container components = null; public Form2() { // // Windows 窗体设计器支持所必需的 // InitializeComponent();
this.textBox1.Text=this.Handle.ToString(); // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // } /// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.textBox1 = new System.Windows.Forms.TextBox(); this.button1 = new System.Windows.Forms.Button(); this.SuspendLayout(); // // textBox1 // this.textBox1.Location = new System.Drawing.Point(168, 56); this.textBox1.Name = "textBox1"; this.textBox1.Size = new System.Drawing.Size(80, 21); this.textBox1.TabIndex = 0; this.textBox1.Text = "textBox1"; // // button1 // this.button1.Location = new System.Drawing.Point(168, 136); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(88, 24); this.button1.TabIndex = 1; this.button1.Text = "button1"; this.button1.Click += new System.EventHandler(this.button1_Click); // // Form2 // this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.Drawing.Size(292, 273); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.button1, this.textBox1}); FormHandel.myFormHandel[1]=(int)this.Handle; this.Name = "Form2"; this.Text = "Form2"; this.ResumeLayout(false); } #endregion private void button1_Click(object sender, System.EventArgs e) { //引发事件,并传递数据 TextChange(this,new Form2EventArg(this.textBox1.Text)); } } //事件数据 public class Form2EventArg:System.EventArgs { private readonly string mytext ; public Form2EventArg(string str) { mytext=str; } public string MyText { get { return mytext; } } } } (出处:开发者俱乐部) |