雷火电竞-中国电竞赛事及体育赛事平台

歡迎來(lái)到入門(mén)教程網(wǎng)!

C#教程

當(dāng)前位置:主頁(yè) > 軟件編程 > C#教程 >

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

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C#教程|點(diǎn)擊:

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

【第一種方法:】

第一步:

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

public interface IForm
{
    void RefreshForm();
}

第二步:

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

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();

【第三種方法:】

通過(guò)事件解決方法:
子窗體中定義:

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( "主窗體收到了嗎? ");

【第四種方法:】

通過(guò)引用:

下例演示怎樣通過(guò)引用類(lèi)型實(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ì)有所幫助。

上一篇:C#及WPF獲取本機(jī)所有字體和顏色的方法

欄    目:C#教程

下一篇:C#禁止textbox復(fù)制、粘貼、剪切及鼠標(biāo)右鍵的方法

本文標(biāo)題:C#實(shí)現(xiàn)子窗體與父窗體通信方法實(shí)例總結(jié)

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/6976.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有