关于C#中父子窗体间的传值,求好心人帮下忙。很疑惑,多谢
关于C#中父子窗体间的传值,求好心人帮下忙。很疑惑,谢谢
看图片,我的程序里有2个窗体,一个Form1、Form2 每个窗体 都有一个文本框和一个按钮 。实现功能:点击Form1按钮,打开Form2 把Form1的文本框值传到Form2,然后在把form2中的文本框值传到Form1
Form1代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(this.textBox1.Text);
f2.Show();
this.textBox1.Text = f2.SetText;
}
}
Form2代码:
public Form2()
{
InitializeComponent();
}
public Form2(string Text)
{
InitializeComponent();
textBox1.Text = Text;
}
public string SetText
{
get { return this.textBox1.Text; }
set { this.textBox1.Text = value; }
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
为什么没有执行 this.textBox1.Text = f2.SetText; 这一行呢 。
------解决思路----------------------
早就执行完了
因为是show,而不是showdialog
如果你是想关闭窗体之后赋值,那么用showdialog
如果是点按钮但是不关闭,点一次赋值一次,你需要写个委托
------解决思路----------------------
http://bbs.****.net/topics/390128592
先学习下,如何窗体间传值
------解决思路----------------------
学会断点调试,自己设置断点跟踪,看程序是如何执行的
如果你自己调试,跟踪代码,你会发现,在form2关闭之前,this.textBox1.Text = f2.SetText;这个代码就已经执行了
Form1代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(this.textBox1.Text);
f2.Show();
this.textBox1.Text = f2.SetText;
}
}
Form2代码:
public Form2()
{
InitializeComponent();
}
public Form2(string Text)
{
InitializeComponent();
textBox1.Text = Text;
}
public string SetText
{
get { return this.textBox1.Text; }
set { this.textBox1.Text = value; }
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
为什么没有执行 this.textBox1.Text = f2.SetText; 这一行呢 。
------解决思路----------------------
早就执行完了
因为是show,而不是showdialog
如果你是想关闭窗体之后赋值,那么用showdialog
如果是点按钮但是不关闭,点一次赋值一次,你需要写个委托
------解决思路----------------------
http://bbs.****.net/topics/390128592
先学习下,如何窗体间传值
------解决思路----------------------
学会断点调试,自己设置断点跟踪,看程序是如何执行的
如果你自己调试,跟踪代码,你会发现,在form2关闭之前,this.textBox1.Text = f2.SetText;这个代码就已经执行了