利用System.EventHandler来实现两个窗体间的事件调用
来源:互联网 发布:维纶触摸屏数据存储 编辑:程序博客网 时间:2024/04/29 23:24
在.NET中,窗体也被定义为一个类,所以要想调用窗体中的某个方法,除了要将要调用的方法设为public外,还得创建一个窗体类的实例。然而,在下面这种情况下,就是当我们打开了窗体1(有了此窗体的一个实例),接着打开了窗体2,接下来我们想通过触发窗体2中的某个事件来调用窗体1中的某个方法,而这时我们又不能再创建窗体的新的实例了,怎么办?
解决的办法之一就是利用.NET中提供的System.EventHandler来实现。方法如下:
建立一个有两个Form的WindowsApplication,在Form1和Form2中各添加一个Button,下面我们来添加一些代码。
首先,先在Form2中添加。
在Form2中添加一个System.EventHandler
publlic event System.EventHandler CallMessage;
在Form2中Button的Click事件中调用OnClicks
private void button1_Click(object sender, System.EventArgs e)
{
this.CallMessage(sender,e);
}
接下来,在Form1中添加。
在Form1中添加一个方法,方法的参数必不可少
public void ShowMessage(object sender, EventArgs e)
{
MessageBox.Show("another form call this method!");
}
在Form1中Button的Click事件中创建一个Form2的实例,并加入Form2的CallMessage的实现方法
private void button1_Click(object sender, System.EventArgs e)
{
Form2 frm=new Form2();
frm.CallMessage+=new EventHandler(ShowMessage);
frm.ShowDialog();
}
好了,我们的目的就达到了。
- 利用System.EventHandler来实现两个窗体间的事件调用
- 利用System.EventHandler来实现两个窗体间的事件调用
- 利用System.EventHandler来实现两个窗体间的事件调用
- 利用System.EventHandler来实现两个窗体间的事件调用
- C#事件调用,实现两个窗体间传值
- 利用自定义事件实现不同窗体间的通讯
- 利用自定义事件实现不同窗体间的通讯
- 通过事件调用窗体间的方法
- C#使用委托创建事件实现两个窗体间通信
- 利用委托事件实现Winform窗体之间的同步刷新
- C#_XXX事件 的重载均与委托"System.EventHandler"不匹配
- 事件处理程序的注册this.button1.Click += new System.EventHandler(this.button1_Click)
- XXX事件的重载均与委托"System.EventHandler"不匹配
- 利用自定义事件实现不同窗体间的通讯 -- Delphi篇
- 利用自定义事件实现不同窗体间的通讯 -- C#篇
- 利用自定义事件实现不同窗体间的通讯 -- C#篇
- 利用自定义事件实现不同窗体间的通讯 -- C#篇
- C#利用接口实现窗体间函数调用
- 今天听到的一个好消息和一个坏消息
- HttpWebRequest提交Form和上传文件的认证问题
- 不用输入用户名,让系统自动登陆
- 一个不错的 java初学者手册
- 正确理解和判断PR劫持的方法(站长必看)
- 利用System.EventHandler来实现两个窗体间的事件调用
- let your hose come on
- Codeblocks安装
- 网页制作(基础篇)
- ARM IAP升级方法
- 数据库缓存依赖详解
- MySQL 有输入输出参数的存储过程实例
- utu2440 gdbserver 远程调试环境搭建
- 左右移位操作的规则