C#窗体之间传递数据
在form1中点击按钮后转到form2,在form2的textbox1中输入数据后,按下按钮即可将数据传回form1的textbox1!!试过了很多方法,传世可以传回,可...
在form1中点击按钮后转到form2,在form2的textbox1中输入数据后,按下按钮即可将数据传回form1的textbox1!!
试过了很多方法,传世可以传回,可是现在我觉得问题是怎么在form1的textbox1中把数据显示出来,是按了form2的按钮后就能显示出来
form1是主窗体,form2是子窗体!!
那个就是点了之后show另一个窗口显示上一窗口的我作出来了!!
不过我是想问反过来传的!!就是先打开的是form1,然后在form1中show出form2,是form2把值传给form1!!
谢谢各位了!! 展开
试过了很多方法,传世可以传回,可是现在我觉得问题是怎么在form1的textbox1中把数据显示出来,是按了form2的按钮后就能显示出来
form1是主窗体,form2是子窗体!!
那个就是点了之后show另一个窗口显示上一窗口的我作出来了!!
不过我是想问反过来传的!!就是先打开的是form1,然后在form1中show出form2,是form2把值传给form1!!
谢谢各位了!! 展开
展开全部
在Form1和Form2中分别添加一个文本框和一个按钮,并为Form2设置一个属性,如代码所示,Form1的代码如下所示:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
if (frm.ShowDialog() == DialogResult.OK)
{
textBox1.Text = frm.Form2_TextBox.Text;
}
}
}
}
Form2的代码如下所示:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public TextBox Form2_TextBox
{
get
{
return textBox1;
}
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
return;
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
if (frm.ShowDialog() == DialogResult.OK)
{
textBox1.Text = frm.Form2_TextBox.Text;
}
}
}
}
Form2的代码如下所示:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public TextBox Form2_TextBox
{
get
{
return textBox1;
}
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
return;
}
}
}
参考资料: 自己想的。
展开全部
Delegate,用委托传参!类似于观察着模式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用是委托就可以`!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可将form1窗体中的textbox1设置成静态的,如 :
public static System.Windows.Forms.TextBox textbox1;
然后在form2窗体的按钮事件中写:
textbox1.text=this.textbox1.text
public static System.Windows.Forms.TextBox textbox1;
然后在form2窗体的按钮事件中写:
textbox1.text=this.textbox1.text
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单,给form1重载一个构造函数,带参的,在form2调用的时候把textbox1的值传过来.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在Form2的按钮单击事件里写传递代码啦!参数传过去后,在按钮的单击事件最后一行写Form1.show();就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询