两个窗口之间信息的传递 C#
2012-08-06 18:26
225 查看
大家好,当我们在做windows form 的时候,常常要从一个窗口读取一些信息到另外一个窗口当中去使用。
下面有个例子:
我要将 form1 中的 textboxInForm1 的内容读到 form2 的 textboxInForm2 中
我有两种方法介绍给大家,随便看看吧!!
第一种,
先在 from2中添加一个全局变量form1Msg,然后写一个得到from1Msg的方法,代码如下:
然后在 form2 中添加load函数(双击 form2 的窗口就会自动生成)
然后在 form1 中的button 中添加单击事件
那么传递信息的功能就完成了,是不是很简单呢??
第二种,
这是运用委托的方法
首先在 form2中写一个接收form1信息的函数
然后要在form1 中声明一个发送信息的委托SendMessage
然后定义一个委托的对象 sendTextboxMsg
然后,双击 form1的按钮,写好以下代码
对于不太清楚委托的同学来说,可能第二种方法会稍难理解,这里罗嗦几句:
指定好之后就可以把sendTextBoxMsg当成AcceptForm1Msg来用了
下面有个例子:
我要将 form1 中的 textboxInForm1 的内容读到 form2 的 textboxInForm2 中
我有两种方法介绍给大家,随便看看吧!!
第一种,
先在 from2中添加一个全局变量form1Msg,然后写一个得到from1Msg的方法,代码如下:
private string from1Msg = ""; public void GetFrom1Msg(string temp) { from1Msg = temp; }
然后在 form2 中添加load函数(双击 form2 的窗口就会自动生成)
private void Form2_Load(object sender, EventArgs e) { this.textBoxInFrom2.Text = from1Msg; }
然后在 form1 中的button 中添加单击事件
private void buttonInForm1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.GetFrom1Msg(this.textBoxInForm1.Text); f2.Show(); }
那么传递信息的功能就完成了,是不是很简单呢??
第二种,
这是运用委托的方法
首先在 form2中写一个接收form1信息的函数
public void AcceptFrom1Msg(object sender) { TextBox temp = sender as TextBox; this.textBoxInForm2.Text = temp.Text; }
然后要在form1 中声明一个发送信息的委托SendMessage
然后定义一个委托的对象 sendTextboxMsg
public delegate void SendMessage(object sender); //声明一个委托 public SendMessage sendTextBoxMsg; //定义一个委托对象
然后,双击 form1的按钮,写好以下代码
private void buttonInForm1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); this.sendTextBoxMsg = new SendMessage(f2.AcceptFrom1Msg); //委托对象代表的是一个方法 this.sendTextBoxMsg(this.textBoxInForm1); //方法的执行 f2.Show(); }这下子也完成了
对于不太清楚委托的同学来说,可能第二种方法会稍难理解,这里罗嗦几句:
this.sendTextBoxMsg = new SendMessage(f2.AcceptFrom1Msg)sendTextBoxMsg指定的就是AcceptForm1Msg这个方法,委托委托----sendTextBoxMsg就是AcceptForm1Msg的托
指定好之后就可以把sendTextBoxMsg当成AcceptForm1Msg来用了
this.sendTextBoxMsg(this.textBoxInForm1)其实认真想一想也不是很难的
相关文章推荐
- 两个窗口之间信息的传递 C#
- 两个窗口之间传递信息2
- C#中两个Form窗口之间的传值(父->子)(子->父)
- 如果在C#用WM_COPYDATA消息来实现两个进程之间传递数据
- C#Winform 中,两个form之间参数传递
- 如果在C#用WM_COPYDATA消息来实现两个进程之间传递数据
- 关于WPF的两个窗口之间简单的数据传递【附源代码】
- 如何在C#用WM_COPYDATA消息来实现两个进程之间传递数据
- C# 窗口传递信息
- 如何在C#用WM_COPYDATA消息来实现两个进程之间传递数据
- C#中窗口之间传递数据几种方法
- QT4+VS2008的窗口跳转(可扩展窗口之间信息传递)
- [转]如何在C#用WM_COPYDATA消息来实现两个进程之间传递数据
- 在两个页面之间传递信息
- 在两个页面之间传递信息
- C# 两个类之间传递数据
- C#使用委托(delegate)实现在两个form之间传递数据的方法
- 采用c#做页面之间信息的传递
- C#中两个窗口怎么传递参数?或者怎么使用另一个窗口的控件呢?
- 如何在C#用WM_COPYDATA消息来实现两个进程之间传递数据