黑马程序员技术交流社区

标题: 如何实现窗体间传值,多窗体中怎样才能控件互访? [打印本页]

作者: 红龙果    时间: 2013-6-15 21:10
标题: 如何实现窗体间传值,多窗体中怎样才能控件互访?
求高人指点!
一个窗体怎么样才能访问另外一个窗体间的控件?多窗体中的值是怎么传递的?
作者: aa26963    时间: 2013-6-15 22:57
form1中控件button点击后显示form2选择form2中datagridview的某一行将其中某一个值传给form1中的某个text控件


新建一个WindowsApplication,创建两个 WinForm.其实它们就是两个类.
每个WinForm中各加入一个Button和一个TextBox.
在WinForm2中写入代理和事件(delegate and event)如下:
//代理声明
public delegate void SendMessage(string str);
//事件声明
public event SendMessage SendEvent;
private void btnSend_Click(object sender, EventArgs e)
{
//调用事件
SendEvent(textBox1.Text);
}
在WinForm1中写入如下代码:
private void btnShow_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
//Form2事件注册
f2.SendEvent+=new Form2.SendMessage(GetMessage);
f2.Show();
}
//代理调用的方法
public void GetMessage(string str)
{
textBox1.Text = str;
}
在点击WinForm1的Button弹出WinForm2后,在 WinForm2中文本框输入文字,然后点击按钮,信息将会立刻发送到WinForm1,并显示出来.
作者: 林东枫    时间: 2013-6-15 23:47
窗体之间想传值,也可以自己再给窗体写一个带餐的构造函数,这样就可以把一个窗体中的值作为参数,传给另一个窗体 ,这个方法就比较简单些:
作者: 彭家贰小姐    时间: 2013-6-15 23:58
请问楼主 你是同一个web中的两个不同页面
还是跨域不同web中的页面?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2