国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#實現子窗體與父窗體通信方法實例總結

2020-01-24 01:27:55
字體:
來源:轉載
供稿:網友

本文實例總結了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#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥化市| 洛隆县| 鲁甸县| 郯城县| 镇康县| 桃江县| 四川省| 临湘市| 禹城市| 专栏| 阳朔县| 古交市| 施秉县| 托克托县| 班戈县| 五莲县| 赫章县| 昌江| 金坛市| 博爱县| 安乡县| 建湖县| 怀仁县| 甘肃省| 绿春县| 沐川县| 明星| 梅州市| 东海县| 彝良县| 天水市| 灵川县| 泾源县| 湾仔区| 武宁县| 孝昌县| 罗山县| 侯马市| 平谷区| 安平县| 霸州市|