c#通过构造函数传递值,但不显示在文本框中

c#通过构造函数传递值,但不显示在文本框中,c#,C#,我通过构造函数将一些值从一个传递到另一个。值通过构造函数以另一种形式成功传输,但当我在文本框中显示它们时,值将变为null,文本框将保持为空。我展示了两种形式的构造函数的代码 打开另一个窗体的起始窗体 private void lbl_imgpass_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { string img = img_name.Text; Setimgpass st

我通过构造函数将一些值从一个传递到另一个。值通过构造函数以另一种形式成功传输,但当我在文本框中显示它们时,值将变为null,文本框将保持为空。我展示了两种形式的构造函数的代码

打开另一个窗体的起始窗体

 private void lbl_imgpass_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
    {
        string img = img_name.Text;
        Setimgpass st = new Setimgpass(img);
        st.Show();
    }
表格1(将值从其中转移到另一个表格)

第二种形式(接收值的地方)


txt_imgpass是我想要值的文本框。

在第一种形式中,值被传递到您创建的对象“add”

您可以简单地使用静态变量将数据从一个表单传递到另一个表单

编辑

您最好尝试这样的方法,而不是静态变量

表格1: 假设这是您单击以显示第二个表单的按钮

private void button1_Click(object sender, EventArgs e)
    {
        Form2 form = new Form2(textBox1.Text);
        form.Show();
    }
在表格2中,你可以这样做

public Form2(string text)
    {
        InitializeComponent();

        label1.Text = text;
    }

谢谢,但是我对这些静态变量有点困惑,所以请你帮我声明一下,我怎样才能使它们成为静态变量并以另一种形式访问它们。你能进一步解释一下你的第一种形式和第二种形式是什么样的吗?我已经编辑了我的代码,现在看一看,实际上一种形式是点击打开的在不隐藏前一个表单的情况下添加标签,然后输入值,当单击“保存”按钮时,值通过构造函数传递,第二个表单被隐藏,并看到前一个表单,但它没有隐藏。我觉得一切看起来都很好,正如Steve所说,您只需显示表单,add.show();让我向您展示控件流及其用户注册->表单2->用户注册,以便在使用add.show()时根据您的要求,用户注册上以前已经存在的值都消失了,只剩下文本框中的当前值。我希望您现在已经理解了我想说的内容?显示表单实例(add)的调用在哪里在上面的代码中创建的?你的意思是说add.show()行?是的,你已经用new创建了那个实例,但似乎没有显示它。让我试试这个,我会告诉你发生了什么。是的,这是有效的,但遗憾的是,在执行add.show()时,第二个表单中已经存在的值消失了
private void button1_Click(object sender, EventArgs e)
    {
        Form2 form = new Form2(textBox1.Text);
        form.Show();
    }
public Form2(string text)
    {
        InitializeComponent();

        label1.Text = text;
    }