鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > .net技术 > c#编程 > >

总结几种C#窗体间通讯的处理方法

来源:互联网 作者:佚名 时间:2013-12-23 16:49
摘要: 本文介绍了C#窗体间通讯的几种处理方法,即传值、继承、事件回调,希望对大家有用。 应用程序开发中,经常需要多窗体之间进行数据通信,写几个例子,把几种常用的通信方式总结一下: 主窗体Form1是一个ListBox,单击选中某列时,弹出窗体Form2,Form2

摘要:本文介绍了C#窗体间通讯的几种处理方法,即传值、继承、事件回调,希望对大家有用。

      应用程序开发中,经常需要多窗体之间进行数据通信,写几个例子,把几种常用的通信方式总结一下:

     主窗体Form1是一个ListBox,单击选中某列时,弹出窗体Form2,Form2中两个控件,一个是TextBox,显示选中的该列的文本,另一个是按钮,点击时将修改后的值回传,且在Form1中修改相应的列的文本,同时Form2关闭。

 C#窗体间通讯方法一:传值

     最先想到的,Form2构造函数中接收一个string类型参数,即Form1中选中行的文本,将Form2的TextBox控件的Text设置为该string,即完成了Form1向Form2的传值。当Form2的AcceptChange按钮按下,需要修改Form1中ListBox中相应列的值,因此可以考虑同时将Form1中的ListBox控件当参数也传入Form2,所有修改工作都在Form2中完成,根据这个思路,,Form2代码如下:

publicpartial class Form2 : Form { private string text; private ListBox lb; private int index; 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(); } }

网友评论
<