当前位置: 首页 > 编程笔记 >

C#实现子窗体与父窗体通信方法实例总结

傅朗
2023-03-14
本文向大家介绍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#程序设计有所帮助。

 类似资料:
  • 本文向大家介绍C#窗体传值实例汇总,包括了C#窗体传值实例汇总的使用技巧和注意事项,需要的朋友参考一下 本文实例汇总了C#窗体传值的方法。分享给大家供大家参考。具体方法如下: 1.静态变量传值,非常简单适合简单的非实例的 2.委托传值 3.使用onwer属性,适合对话框之间的传值 当然也可以使用委托继续传值 4.重构窗体构造函数,初始化的时候传值,只适合初始化的适合,不够方便 5.委托+事件的方法

  • 本文向大家介绍jQuery实现iframe父窗体和子窗体的相互调用,包括了jQuery实现iframe父窗体和子窗体的相互调用的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现iframe父窗体和子窗体的相互调用方法。分享给大家供大家参考,具体如下: 父窗体 子窗体 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery常用插件及用法总结》、《jquery中A

  • 本文向大家介绍C#实现让窗体永远在窗体最前面显示的实例,包括了C#实现让窗体永远在窗体最前面显示的实例的使用技巧和注意事项,需要的朋友参考一下 本文以实例描述了C#实现让窗体永远在窗体最前面显示的方法,具体步骤如下: 1、新建一个窗体程序,添加一个Timer以及设置它可用并绑定事件。 2、设置窗体的TopMost属性为True 3、然后设置代码如下即可实现.

  • 本文向大家介绍C#实现窗体间传值实例分析,包括了C#实现窗体间传值实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了C#实现窗体间传值的方法。分享给大家供大家参考,具体如下: 1、VS 2005的Visual C# Windows应用程序和Visual C#智能设备Pocket PC 2003设备应用程序。 假设我们需要点击主窗体FMMain中的某一个按钮时打开子窗体FMChild并

  • 本文向大家介绍C#实现窗体间传递数据实例,包括了C#实现窗体间传递数据实例的使用技巧和注意事项,需要的朋友参考一下 本文以实例详述了C#两个窗体之间传递数据的实现方法,具体的操作步骤如下: 1.建立两个窗体,并采用公用变量值传递: 2.使用地址方式传递

  • 本文向大家介绍C#定时关闭窗体实例,包括了C#定时关闭窗体实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#定时关闭窗体的方法,分享给大家供大家参考。具体方法如下: 希望本文所述对大家的C#程序设计有所帮助。