Winform中窗体传值问题
现有两个窗体Form1和Form2,Form1中有一个Textbox1和一个Button1(选择按钮),Form2中有一个DataGridView1绑定数据。我想实现的效...
现有两个窗体Form1和Form2,Form1中有一个Textbox1和一个Button1(选择按钮),Form2中有一个DataGridView1绑定数据。
我想实现的效果是:在Form1中单击选择按钮打开Form2,在Form2中单击DataGridView1中的一行,获得这一行的某个字段,同时关闭Form2并把所获得的值绑定到Textbox1上。(希望把思路和需要触发执行的事件写清楚,特别是在获得值后绑定到Form1中的Textbox1上这里要怎么做) 展开
我想实现的效果是:在Form1中单击选择按钮打开Form2,在Form2中单击DataGridView1中的一行,获得这一行的某个字段,同时关闭Form2并把所获得的值绑定到Textbox1上。(希望把思路和需要触发执行的事件写清楚,特别是在获得值后绑定到Form1中的Textbox1上这里要怎么做) 展开
3个回答
展开全部
这是两个窗体,窗体中各有一个textbox和一个button,在Form2里定义一个 公共的 静态的 变量名 ,当点击Form2中的按钮时将Form2中的 textbox值赋给定义的变量,然后利用Form1里的timer控件定时刷新Form2里定义的变量
具体代码如下,没做DataGridView的,但做法一样
//Form1的代码
//之前的一长串命名空间代码省略
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//点击button打开Form窗口
private void button1_Click(object sender, EventArgs e)
{
new Form2().Show();
}
//这是个timer控件,定时刷新Form里传过来的值
private void timer1_Tick(object sender, EventArgs e)
{
textBox1.Text = Form2.zhi;
}
}
}
//Form2的代码
//之前的一长串命名空间代码省略
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public static string zhi = "";//定义个变量用于传值
public Form2()
{
InitializeComponent();
}
//点击按钮把值赋给前面定义的变量
private void button1_Click(object sender, EventArgs e)
{
zhi = textBox1.Text;
}
}
}
我系C#新手,如有更好的传值方法别喷我
具体代码如下,没做DataGridView的,但做法一样
//Form1的代码
//之前的一长串命名空间代码省略
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//点击button打开Form窗口
private void button1_Click(object sender, EventArgs e)
{
new Form2().Show();
}
//这是个timer控件,定时刷新Form里传过来的值
private void timer1_Tick(object sender, EventArgs e)
{
textBox1.Text = Form2.zhi;
}
}
}
//Form2的代码
//之前的一长串命名空间代码省略
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public static string zhi = "";//定义个变量用于传值
public Form2()
{
InitializeComponent();
}
//点击按钮把值赋给前面定义的变量
private void button1_Click(object sender, EventArgs e)
{
zhi = textBox1.Text;
}
}
}
我系C#新手,如有更好的传值方法别喷我
追问
我看到还有一种方法:把Form1的一个对象作为Form2中的一个变量,这样在得到值后就可以在Form2中直接调用Form1中的变量和方法。(如果你要的话我可以把代码贴上来)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询