C#實(shí)現(xiàn)子窗體與父窗體通信方法實(shí)例總結(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)用,刷新的方法
【第二種方法:】
1.父窗體中定義刷新的方法RefreshForm()
2.在點(diǎn)擊的事件Show出子窗體的時(shí)候,代碼如下:
Form form=new Form(); form.Show(this);
3.在子窗體的點(diǎn)擊事件中,代碼如下:
【第三種方法:】
通過事件解決方法:
子窗體中定義:
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è)試:
【第四種方法:】
通過引用:
下例演示怎樣通過引用類型實(shí)現(xiàn)你的功能:
子窗體中定義:
新構(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)文章
C#實(shí)體對(duì)象序列化成Json并讓字段的首字母小寫的兩種解決方法
這篇文章主要介紹了C#實(shí)體對(duì)象序列化成Json并讓字段的首字母小寫的兩種方法,在這兩種方法中小編比較推薦使用第二種方法,需要的朋友可以參考下2018-06-06
C# 關(guān)于AppDomain的一些總結(jié)
這篇文章主要介紹了C# 關(guān)于AppDomain的一些總結(jié),幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2021-02-02
C#中Decimal類型截取保留N位小數(shù)并且不進(jìn)行四舍五入操作
這篇文章主要介紹了C#中Decimal類型截取保留N位小數(shù)并且不進(jìn)行四舍五入操作,本文給出需求說明和實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-06-06
C# 對(duì)MongoDB 進(jìn)行增刪改查的簡(jiǎn)單操作實(shí)例
這篇文章介紹了C# 對(duì)MongoDB 進(jìn)行增刪改查的簡(jiǎn)單操作實(shí)例,有需要的朋友可以參考一下2013-09-09
C#使用SQL DataReader訪問數(shù)據(jù)的優(yōu)點(diǎn)和實(shí)例
今天小編就為大家分享一篇關(guān)于C#使用SQL DataReader訪問數(shù)據(jù)的優(yōu)點(diǎn)和實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10

