C#一个窗体读取另一个窗体上控件的内容?

比如From1上的textBox1读取From2上的textBox1的Text内容,请给出简单有效的代码!

1、你只要将textBox的内容在实例化Form1的时候传入就好
2、如果Form2为后打开的窗体,则在Form2中定义一个public变量并用Text赋值,然后在Form1中调用这个变量就好。。。
3、如果Form2为弹出窗体,则将Form1实例化Form1的时候,重载关闭窗体的参数,获得Text值追问

具体代码,我没有试验成功

追答



Form1.cs中写:

        Form2 _f = new Form2();//类内变量


        private void button1_Click(object sender, EventArgs e)

        {

            _f.Show();

        }


        private void button2_Click(object sender, EventArgs e)

        {

            textBox1.Text = _f.TransferParameters();

        }



Form2.cs中写:


        /// <summary>

        /// 传参函数

        /// </summary>

        /// <returns></returns>

        public string TransferParameters()

        {

            return textBox1.Text;

        }


经实验,成功

追问

太麻烦不是我要的方法

追答

这只是我做的Demo,具体你可以只写一个传参函数,然后再主窗体调用就好了,难道很复杂吗,你再试试

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15
关于窗体之间的通信,可以给窗体设置主从关系:
Form1:
Form2 f2 = new Form2();
f2.owner = this; //Form2的主人是f2

......

textBox1.text = f2.textBox1.text;

Form2:
Form1 f1 = this.owner; //f1是Form2的主人
这样f1就是原来的Form1了追问

2010 中好像没有owner这个功能

追答

绝对有的

追问

owner是大写的Owner,

button的内容可以传,但textBox读过来时空的。怎么回事?

追答

这个你自己再研究一下吧,我不清楚你的代码是怎么写的。可能你并没有获取到textBox的值

追问

怎么获取textbox值是关键,没搞出来

追答

我现在是在手机使用,不方便打字。你百度一下c#窗体通信

本回答被网友采纳
第2个回答  2014-10-05
使用ctrl+7
相似回答