电脑教程
工具软件
黑客攻防
电脑硬件
网站建设
PHOTOSHOP教程
服务器
ASP教程
操作系统入门
网站赚钱
QQ技巧
主板维修
数据库
网页制作技巧
网站首页
操作系统
办公软件
编程语言
网络基础
网站制作
图形设计
腾讯QQ
电脑安全
电脑维修
导航:
好喜爱学习网
>>
编程语言
>>
asp.net编程
>> 利用自定义事件实现不同窗体间的通讯 -- C#篇
相关文章
利用C#实现分布式数据库查询
利用SQL Server的扩展属性象access一样显示列的注释
利用事务日志来恢复Update、Delete误操作引起的数据丢
利用 Case 敘述做 SQL 的動態排列
利用Case敘述做SQL的動態排列
SQL Server 2005: 利用新的ranking函数实现高效的数据分页操作
如何利用数据库储存图档
利用事务日志来恢复Update、Delete误操作引起的数据丢失
SQL注入实战---利用“dbo”获得SQL管理权限和系统权限
利用数据库复制技术 实现数据同步更新
利用数据库日志恢复数据到时间点的操作
利用MSSQL sp自制未公开的加密函数
利用FrontPage 2003轻松制作网络申请系统(2)
利用FrontPage 2003轻松制作网络申请系统(1)
利用javascript创建功能强大的GUI(3)
利用javascript创建功能强大的GUI(2)
利用javascript创建功能强大的GUI(1)
利用javascript制作倒计时牌
利用javascript创建功能强大的GUI(5)
利用javascript创建功能强大的GUI(4)
最新文章
一个有KeepConnection开关的C#的Database类
用控件仅一条指令实现界面换肤和多语言版本
.net datagrid 选择多行
一个用C#写的词法分析程序
关于C#下写的Web Service 服务在Delphi下调用时的问题
多线程填写treeview控件(vb.net)
使用TreeView实现无限级扩展节点
用C#写的一个简单屏幕保护程序
详解对密码执行散列和 salt 运算方法
vb.net的windows窗体实现dos命令
为您的应用程序加上注册的限制
用VS.NET2003制作WEB应用程序的安装包
怎么由DataSet将数据导入Excel?
Visual Basic串口通讯调试方法
QQ验证码识别源代码(C#/NET1.1)
一个用Wsh来控制SqlServer的Dcom的VBs
24点的算法
asp.net 关于form认证的一般设置
和我一起入门Direct3D的VB.net编程
部署ASP.NET的三大技术(1)
文章内容
利用自定义事件实现不同窗体间的通讯 -- C#篇
作者:未知 来源:网络收集 录入:管理员
C# 中的“事件”是当对象满足一定条件,发生某些事情时,类向该类的客户提供通知的一种方法。使用事件,拥有该事件的对象不必知道需要通知谁,一旦满足了某个条件,将自动调用该事件,正确通知每个需要通知的对象。通过使用事件,提高了程序的模块化程度。 要在程序中使用自定义事件,需按以下步骤进行: 1、声明事件要在类内声明事件,首先必须声明该事件的委托类型:public delegate void SelectionChangedEventHandler(object sender, SelectionChangedEventArgs e); 说明:由于本示例程序需在事件中传递数据,因此定义了EventArgs的派生类SelectionChangedEventArgs。public class SelectionChangedEventArgs : EventArgs{ private string m_selection; //本属性用于传递事件数据 public string Selection { get { return m_selection; } } public SelectionChangedEventArgs(string selection) { m_selection = selection; }} 委托类型定义传递给处理该事件的方法的一组参数。多个事件可共享相同的委托类型,因此仅当尚未声明任何合适的委托类型时才需要执行该步骤。 接下来,声明事件本身: public event SelectionChangedEventHandler SelectionChanged; 2、调用事件如果没有任何客户将委托与该事件挂钩,该字段将为空;否则该字段引用应在调用该事件时调用的委托。因此,调用事件时通常先检查是否为空,然后再调用事件。 public class Form2 : System.Windows.Forms.Form{ ... ... public event SelectionChangedEventHandler SelectionChanged; ... ... private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e) { if (SelectionChanged != null) { SelectionChangedEventArgs E = new SelectionChangedEventArgs(comboBox1.Text); SelectionChanged(this, E); } }} 3、与事件挂钩 为了开始接收事件调用,客户代码先创建事件类型的委托,该委托引用应从事件调用的方法。然后它使用 += 将该委托写到事件可能连接到的其他任何委托上。 public class Form1 : System.Windows.Forms.Form{ ... ... private Form2 m_frm2; ... ... public Form1() { ... ... m_frm2 = new Form2(); //与事件挂钩 m_frm2.SelectionChanged += new SelectionChangedEventHandler(frm2_SelectionChanged); } ... ... private void button1_Click(object sender, System.EventArgs e) { m_frm2.ShowDialog(); } private void frm2_SelectionChanged(object sender, SelectionChangedEventArgs e) { //获取事件传递过来的数据 textBox1.Text = e.Selection; }} 本示例效果如下图所示:
·上一篇:
一个有KeepConnection开关的C#的Database类
·下一篇:
ASP.NET中使用IFRAME建立类Modal窗口
·搜一下:
百度搜[利用自定义事件实现不同窗体间的通讯 -- C#篇]相关内容
E-MAIL:309076721@163.com
本站为非营利性质个人网站,建站只为个人爱好与学习,内容大多为电脑技术教程;
网站内容来源于互联网收集整理,禁止用于非法途径,如发现本网站上有侵权的文章请联系我们,我们会尽快删除;
本站不对站点内容准确性、完整性和真实性作任何承诺,由此产生的后果本站不承担任何责任,对以上引起的一切法律纠纷本站无权利承担。