- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
相信大家在做系统的时候,很多人都遇到需要在两个不同的窗体间传递数据的情况,例如可
以单独打开一个窗口,用于显示代码名称对照关系,通过双击该窗体的数据,我们希望这个
数据传递到另一个窗体中。如何实现两个窗体间数据的实时传递呢?其实很简单,只需要简
单地运用事件通知就可以了。
首先做如下假设:
有两个窗体MainForm,SubForm,我们希望SubForm向MainForm实施传递数据,开发语言
就用.netC#
1、新建一个工程,并添加两个窗体,分别命名为frmMain,frmSub
2、在frmMain上添加一个文本框和一个按钮,分别命名txbxReceiveMessageContainer和
btnOpenSubForm
3、在frmSub上添加一个文本框和一个按钮,分别命名txbxSendMessageContainer和
btnSendMessage
4、在工程中添加一个类文件,取名为Global,用于放置一些公用代码
做好了以上准备工作,下面开始编写代码,为方便大家阅读,我把关键代码直接贴上来。
//Global.cs
publicclassSubFormEventArg:System.EventArgs//事件数据,其中构造函数中的参数是
object类型,也就是说我们可以在两个窗体间传递任何数据,如数组,字符串,结构体以及
其他任何复杂的数据形式
{
privatereadonlyobjectmyObj;
publicSubFormEventArg(objectmyObj)
{
this.myObj=myObj;
}
publicobjectMyMessage
{
get
{
returnmyObj;
}
}
}
publicclassFormHandel
{
publicstaticint[]myFormHandel={1,2};//根据需要而定,如果是在三个窗体间传递
数据的话,可以定义三个数据{1,2,3}
}
publicdelegatvoidMessageChangeEventHander(objectsender,SubFormEventArge);//
很关键,用于两个窗体间互通消息
//frmMain.cs
在frmMain构造函数中添加:
FormHandel.myFormHandel[0]=(int)this.Handle;
添加消息处理函数,即怎么处理frmSum传递过来的数据
publicvoidOnMessageChange(objectsender,Form2EventArge)
{
//处理消息(e.MyMessag)的代码,值得注意的是,由于e.MyMessag是object
类型,此处需要根据你传递的数据的类型进行拆箱(即我们通常所说的强制转换),例如如
果传递的是字符串数组,则可以string[]message=(string[])e.MyMessag,然后再处理messag
this.txbxReceiveMessageContainer.Text=e.MyMessage.ToString();
}
在btnOpenSubForm的click事件中添加frmSum的调用函数:
frmSubfrm=newfrmSub();
frm.MessageChange+=newMessageChangeEventHander(OnMessageChange);//很
重要,用于注册消息处理函数
frm.Show();
//frmSub.cs
定义一个窗体级事件变量
publiceventMessageChangeEventHanderMe
您可能关注的文档
- 税源调查注意事项纳税人版.pdf
- 空压机危险源风险告知牌.pdf
- 突发公共卫生事件应急演练方案.pdf
- 竞争对手消费费用结果分析.pdf
- 空气环境报告Word文档.pdf
- 第12课《新文化运动》教学设计.pdf
- 第12课新文化运动 教学设计.pdf
- 第11章用MetaLUNs扩展LUNs的容量.pdf
- 第108讲材料力学(四)(2010年新版).pdf
- 立体停车场可行性研究报告.pdf
- 地理信息科学_第三次农业普查影像数字化项目.pdf
- 土地利用变化分析实验.docx
- 2025年中考语文二轮复习备考:小说阅读理解提高练(含答案).docx
- 2025年黑龙江省哈尔滨市中考一模英语试题2(含答案).docx
- 2024-2025学年高一(下)期中语文试卷(含解析).docx
- 贵州省毕节市金沙县第四中学2024-2025学年春季学期第一次月考考试试卷七年级语文(含答案).docx
- 2025年人教版九年级中考英语语法专题练习 特殊句型(含答案).docx
- 2025年湖北省襄阳市襄州区中考二模语文试题(含答案).docx
- 贵州省安顺市2025届高三下学期4月适应性考试语文试题(含答案).docx
- 湖北省仙桃市田家炳实验高级中学2024-2025学年高一下学期4月期中考试语文试题(含答案).docx
最近下载
- (高一集合练习题一附答案.docx VIP
- 35-14462小学综合性学习与跨学科教学 讲义.pdf VIP
- 湖南省长沙市长郡集团2023-2024学年八年级下学期期中考试英语试题(解析版).pdf VIP
- 医院搬迁服务投标方案(技术方案).doc
- Rossler系统的电路板实现及混沌控制.pdf VIP
- NYT 4432-2023 农药产品中有效成分含量测定通用分析方法 气相色谱法.pdf
- 梅特勒托利多-防爆知识和防爆称重产品介绍-立德
- 内衣销售培训ppt课件.pptx
- 梅特勒托利多-IND560 免砝码量程校正-立德科技提 VIP
- 2025年河南信息统计职业学院单招职业技能测试题库及答案解析.pdf VIP
文档评论(0)