关于C#中父子窗体间的传值,求好心人帮下忙。很疑惑,谢谢

qq_22429185 2015-03-19 04:49:19
看图片,我的程序里有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; 这一行呢 。
...全文
129 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2015-03-19
  • 打赏
  • 举报
回复
f2.ShowDialog();
於黾 2015-03-19
  • 打赏
  • 举报
回复
学会断点调试,自己设置断点跟踪,看程序是如何执行的 如果你自己调试,跟踪代码,你会发现,在form2关闭之前,this.textBox1.Text = f2.SetText;这个代码就已经执行了
bdmh 2015-03-19
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/390128592 先学习下,如何窗体间传值
qq_22429185 2015-03-19
  • 打赏
  • 举报
回复
Form1可以传到Form2,但是 我直接按Form2按钮关闭,为什么this.textBox1.Text = f2.SetText;无效, 而已我调试的时候 发现要等 Form1中private void button1_Click(object sender, EventArgs e) 中代码都执行完成后 。窗体Form2才show出来
於黾 2015-03-19
  • 打赏
  • 举报
回复
早就执行完了 因为是show,而不是showdialog 如果你是想关闭窗体之后赋值,那么用showdialog 如果是点按钮但是不关闭,点一次赋值一次,你需要写个委托

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧