c#winform如何把另一窗口中的textbox值调用过来

急急急
2024-10-30 16:19:37
推荐回答(3个)
回答1:

步骤1:在Form1上,布置一个TextBox(textBox1)和一个按钮(button1)

步骤2:在项目中添加一个窗体Form2。在Form2上布置一个Label(label1)。Form2的后台Form2.cs代码如下:

using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        // 新编写一个构造函数
        public Form2(string text) : this()
        {
            label1.Text = text;
        }
    }
}

步骤3:Form1的后台代码Form1.cs如下

using System;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // 用我们自己编写的构造函数创建Form2,传入文本框text1.Text
            Form2 f2 = new Form2(textBox1.Text);
            f2.Show();
        }
    }
}

运行结果如下:

回答2:

软糖来回答把。

C#和VB.net不一样,窗体是类,而不是唯一的对象,所以必须指向该Form才能引用其中的对象。

首先在Form2定义一个全局静态字段 存储当前窗体

public Form2 curForm2;
private void Form2_Load(object sender, EventArgs e) {
    curForm2 = this;
}

然后在Form5中即可调用,注意,如果Form2从未启动,则会引发null错误。

curForm2.textbox

满意请采纳,谢谢。

回答3:

直接去另一个form取值,Form2.Textbox1.text就可以了。