关于C#窗体之间传值的问题。

现在有两个窗口,如图所示;当我单击button1的时候,要求显示Form2并且把Form1里面的123传给Form2里面的textBox1显示出来。当我单击button2... 现在有两个窗口,如图所示;当我单击button1的时候,要求显示Form2并且把Form1里面的123传给Form2里面的textBox1显示出来。当我单击button2的时候,要求把123还是传过去,但是不重新NEW出新的Form2了,直接加在Form2里面的TextBox1里面. 展开
 我来答
xuhao1880
2014-08-05
知道答主
回答量:5
采纳率:0%
帮助的人:4.9万
展开全部
给form2定义个属性,单击的时候传递过去。
new form2的时候把form2的owner设置为this。
button2单击的时候,遍历this的ownerforms,找到已经出现的form2对象。
再传递属性过去。
更多追问追答
追问
大哥能不能写一下带代码?
追答

public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }


        private void button1_Click(object sender, EventArgs e)

        {

            Form2 f2 = new Form2();

            f2.Owner = this;

            f2.txtin = textBox1.Text;

            f2.Show();

        }


        private void button2_Click(object sender, EventArgs e)

        {

            foreach (Form f in this.OwnedForms)

            {

                if (f is Form2)

                {

                    Form2 f2 = (Form2)f;

                    f2.txtin = textBox1.Text;

                }

            }

        }

    }

再追一下,太长了一次弄不上来
板凳瓜子准备好了
2014-08-05 · TA获得超过163个赞
知道小有建树答主
回答量:278
采纳率:0%
帮助的人:129万
展开全部
public partial class Form3 : Form
{
Form4 f4 = new Form4();
public Form3()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
f4.textBox1.Text = this.textBox1.Text;
f4.Show();
}

private void button2_Click(object sender, EventArgs e)
{
f4.textBox1.Text = this.textBox1.Text;
}
}
Form3 的代码对应form1
Form4 的代码对应form2

到设计文件中 把form2的text修饰符改为public就OK了
更多追问追答
追问
怎么改成public?
追答

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式