- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
子父窗体操作
应用程序开发中,经常需要多窗体之间进行数据通信,写几个例子,把几种常用的通信方式总结一下:???主窗体Form1是一个ListBox,单击选中某列时,弹出窗体Form2,Form2中两个控件,一个是TextBox,显示选中的该列的文本,另一个是按钮,点击时将修改后的值回传,且在Form1中修改相应的列的文本,同时Form2关闭。?方法一:传值?最先想到的,Form2构造函数中接收一个string类型参数,即Form1中选中行的文本,将Form2的TextBox控件的Text设置为该string,即完成了Form1向Form2的传值。当Form2的AcceptChange按钮按下,需要修改Form1中ListBox中相应列的值,因此可以考虑同时将Form1中的ListBox控件当参数也传入Form2,所有修改工作都在Form2中完成,根据这个思路,Form2代码如下: C#代码 publicpartial?class?Form2?:?Form?{?private?string?text;?private?ListBox?lb;?private?int?index;??//构造函数接收三个参数:选中行文本,ListBox控件,选中行索引?public?Form2(string?text,ListBox?lb,int?index)?{?this.text?=?text;?this.lb?=?lb;?this.index?=?index;?InitializeComponent();?this.textBox1.Text?=?text;?}??private?void?btnChange_Click(object?sender,?EventArgs?e)?{??string?text?=?this.textBox1.Text;?this.lb.Items.RemoveAt(index);?this.lb.Items.Insert(index,?text);?this.Close();?}?}???Form1中new窗体2时这么写:C#代码 public?partial?class?Form1?:Form?{?int?index?=?0;?string?text?=?null;?public?Form1()?{?InitializeComponent();?}??private?void?listBox1_SelectedIndexChanged(object?sender,?EventArgse)?{?if?(this.listBox1.SelectedItem?!=?null)?{?text?=?this.listBox1.SelectedItem.ToString();?index?=?this.listBox1.SelectedIndex;??//构造Form2同时传递参数?Form2?form2?=?new?Form2(text,?listBox1,?index);?form2.ShowDialog();?}?}????OK,方法一的解决方法就是这样,好处是直观,需要什么就传什么,缺点也是显而易见的,如果窗体1中需要修改的是一百个控件,难道构造的时候还传100个参数进去?况且如果其他窗体仍然需要弹Form2,那Form2就废了,只能供窗体1使用,除非写重载的构造函数,不利于代码的复用,继续看下一个方法。?方法二:继承 ?这个方法我试了很多次,继承的确可以做,但是麻烦不说,还不方便,因此个人认为如果为了互相操作数据而使用继承,是不合适的,但既然是个方法,就扔出来看看,实际作用≈0。 ?Form2: C#代码 //声明Form2继承于Form1?public?partial?classForm2?:?Form1?{?publicint?index;??public?ListBox?lb;?public?Form2(string?text)?{??//将继承过来的listBox设置为不可见??this.listBox1.Visible=false;?InitializeComponent();?this.textBox1.Text?=?text;?}?private?void?btnChange_Click(object?sender,?EventArgs?e)?{?string?text?=?this.textBox1.Text;?this.lb.Items.RemoveAt(index);?this.lb.Items.Insert(index,text);?this.Close();??}?}???Form1:C#代码 public?partial?class?Form1?:Form?{?public?int?index?=?0
您可能关注的文档
- 单片机控制自动开关机系统.doc
- Java串口调试.doc
- Win32 API串口编程2.docx
- 五年级上册Recycle 1 第二课时教学设计.doc
- linux下串口通信代码.doc
- 西安邮电大学嵌入式实验5—UART.doc
- [feiq]SerialPort控件的使用.doc
- 国外英文版翻译研究与翻译教学书目.doc
- 2015必威体育精装版外研社六年级上英语教案集体备课.docx
- PEP三年级下册Unit 6-recycle2.doc
- 4.1 陆地水体及其关系 课件高二上学期地理中图版(2019)选择性必修一.pptx
- 混凝土结构与砌体结构设计习题集 .pdf
- 统编版语文四年级下册 22.古诗三首 课件(共50张PPT).pptx
- 青海2024行测笔试真题及答案 .pdf
- 2.1 充分发挥市场在资源配置中的决定性作用 课件-高中政治统编版必修二经济与社会.pptx
- 27.巨人的花园 课件(共58张PPT).pptx
- 统编版语文一年级下册5 树和喜鹊 第1课时 课件(共37张PPT).pptx
- 2.1 充分发挥市场在资源配置中的决定性作用 课件政治一轮复习统编版必修二经济与社会.pptx
- 贵港市平南县2024届小升初考试语文试卷含答案 .pdf
- 小学期末考试质量分析 .pdf
最近下载
- 2025年高考地理二轮复习非选择题强化训练(课件).pptx VIP
- (二模)2025年广州市普通高中毕业班综合测试(二)数学试卷(含答案详解).pdf
- 14J938 抗爆、泄爆图集标准.docx VIP
- 降低CRRT治疗非计划下机率.pptx VIP
- 《中国心力衰竭诊断和治疗指南2024》解读(下).pptx
- 《预检分诊》课件.pptx VIP
- 2024年河南省政务服务办事员职业技能竞赛考试题库-下(判断、简答题汇总).docx
- 2025年部编版语文六年级毕业复习知识点.pdf VIP
- 2025年政务服务办事员技能大赛理论考试题库600题(含答案).docx
- 14J938抗爆泄爆图集标准.docx VIP
文档评论(0)