最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實(shí)現(xiàn)子窗體與父窗體通信方法實(shí)例總結(jié)

 更新時(shí)間:2015年09月17日 18:02:21   作者:我心依舊  
這篇文章主要介紹了C#實(shí)現(xiàn)子窗體與父窗體通信方法,實(shí)例總結(jié)了常用的四種窗體通信方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例總結(jié)了C#子窗體與父窗體通信方法。分享給大家供大家參考。具體如下:

【第一種方法:】

第一步:

創(chuàng)建接口IForm,父窗體繼承這個(gè)接口

public interface IForm
{
    void RefreshForm();
}

第二步:

父窗體實(shí)現(xiàn)接口中的方法,在實(shí)現(xiàn)接口的方法中寫入刷新代碼

Form2 f = new Form2();
f.Owner = this;
f.ShowDialog();

第三步:

在子窗體中調(diào)用,刷新的方法

復(fù)制代碼 代碼如下:
(this.Owner as IForm).RefreshForm();

【第二種方法:】

1.父窗體中定義刷新的方法RefreshForm()
2.在點(diǎn)擊的事件Show出子窗體的時(shí)候,代碼如下:

Form form=new Form();
form.Show(this);

3.在子窗體的點(diǎn)擊事件中,代碼如下:

復(fù)制代碼 代碼如下:
(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);}

子窗體測(cè)試:

復(fù)制代碼 代碼如下:
if (this.SendTo != null) this.SendTo( "主窗體收到了嗎? ");

【第四種方法:】

通過引用:

下例演示怎樣通過引用類型實(shí)現(xiàn)你的功能:
子窗體中定義:

復(fù)制代碼 代碼如下:
protected MainForm ParentFrom = null;//主窗體

新構(gòu)造函數(shù):

public ChildForm(MainForm parent) 
{ 
InitializeComponent();
this.ParentFrom = parent;//引用 
}

主窗體中某Click:

ChildForm frm = new ChildForm(this); 
frm.ShowDialog(this);

子窗體測(cè)試:

void ...Click(....) 
{ 
this.Text = "測(cè)試引用 "; 
if (this.ParentFrom != null) this.ParentFrom.Text += "- " + this.Text;//....... 
}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

囊谦县| 芮城县| 德令哈市| 中江县| 澎湖县| 灌南县| 应城市| 甘孜| 龙山县| 台南市| 汶上县| 玉环县| 修水县| 鹤峰县| 龙州县| 宁安市| 民丰县| 滦南县| 攀枝花市| 辉南县| 桂平市| 岫岩| 惠水县| 府谷县| 宣恩县| 钟祥市| 锡林浩特市| 莆田市| 阜宁县| 肃北| 维西| 泰安市| 延庆县| 东安县| 西贡区| 绥化市| 九龙县| 新乐市| 巴林右旗| 鞍山市| 周宁县|