C#完成子窗體與父窗體通訊辦法實例總結。本站提示廣大學習愛好者:(C#完成子窗體與父窗體通訊辦法實例總結)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成子窗體與父窗體通訊辦法實例總結正文
本文實例總結了C#子窗體與父窗體通訊辦法。分享給年夜家供年夜家參考。詳細以下:
【第一種辦法:】
第一步:
創立接口IForm,父窗體繼續這個接口
public interface IForm { void RefreshForm(); }
第二步:
父窗體完成接口中的辦法,在完成接口的辦法中寫入刷新代碼
Form2 f = new Form2(); f.Owner = this; f.ShowDialog();
第三步:
在子窗體中挪用,刷新的辦法
(this.Owner as IForm).RefreshForm();
【第二種辦法:】
1.父窗體中界說刷新的辦法RefreshForm()
2.在點擊的事宜Show出子窗體的時刻,代碼以下:
Form form=new Form(); form.Show(this);
3.在子窗體的點擊事宜中,代碼以下:
(this.Owner as Form).RefreshForm();
【第三種辦法:】
經由過程事宜處理辦法:
子窗體中界說:
public delegate void sendmessage(string message); public event sendmessage SendTo ;
主窗體:
ChildForm frm = new ChildForm(); frm.SendTo += new ChildForm.sendmessage(SendArgs); frm.ShowDialog(this); private void SendArgs(string Message)//主窗體吸收新聞 {MessageBox.Show( "主窗體已收到新聞: " + Message);}
子窗體測試:
if (this.SendTo != null) this.SendTo( "主窗體收到了嗎? ");
【第四種辦法:】
經由過程援用:
下例演示如何經由過程援用類型完成你的功效:
子窗體中界說:
protected MainForm ParentFrom = null;//主窗體
新結構函數:
public ChildForm(MainForm parent) { InitializeComponent(); this.ParentFrom = parent;//援用 }
主窗體中某Click:
ChildForm frm = new ChildForm(this); frm.ShowDialog(this);
子窗體測試:
void ...Click(....) { this.Text = "測試援用 "; if (this.ParentFrom != null) this.ParentFrom.Text += "- " + this.Text;//....... }
願望本文所述對年夜家的C#法式設計有所贊助。