C# 通过3个类传递数据,从1中选择值并输入文本框';那是另一个

C# 通过3个类传递数据,从1中选择值并输入文本框';那是另一个,c#,winforms,C#,Winforms,好的,我从组合框中选择的文本中获取信息,并将其传递给另一个表单上的文本框 我有一个叫做变量的类 public class variables { public string Design { get; set; } public string Classnum { get; set; } } 从组合框中的用户选择中接收信息 这是另一个叫做“家”的班级 private void cbfanclass_SelectedIndexChanged(object sender, Even

好的,我从组合框中选择的文本中获取信息,并将其传递给另一个表单上的文本框

我有一个叫做变量的类

public class variables
{
    public string Design { get; set; }
    public string Classnum { get; set; }
}
从组合框中的用户选择中接收信息 这是另一个叫做“家”的班级

private void cbfanclass_SelectedIndexChanged(object sender, EventArgs e)
{
    var.Design = cbdesigntype.Text.ToString();
}
当我使用断点时,我看到var.Design保存了正确的数据

当我把它送到第三节课时,我的问题就开始了

public partial class DesignPar : Form
{
    public variables var = new variables();

    public DesignPar()
    {
        InitializeComponent();
    }

    private void DesignPar_Load(object sender, EventArgs e)
    {
    }


    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        textBox2.Text = var.Design;
    }

    private void textBox2_TextChanged(object sender, EventArgs e)
    {
    }
}
我将在textbox1中输入数据以激活事件,但textbox 2中没有显示任何内容,使用break显示var.design//textbox 2只是“不是null而是”
所以我的问题是,很明显,我在某个地方传递的数据是错误的,这是因为您正在创建一个新的variables类实例

必须像这样在DesignPar()中创建私有属性

private string design {get; set;}
并添加一个带参数的重载构造函数

并将参数从类home传递给该构造函数

像这样

DesignPar(cbdesigntype.Text.ToString())

并在重载构造函数中指定值

DesignPar(string design)
{
  this.design = design;
}

希望这有助于假定某种按钮单击会启动DesignPar表单

    private void button1_Click(object sender, EventArgs e)
    {
        using (DesignPar form = new DesignPar())
        {
            form.var = var;
            form.ShowDialog();

            var = form.var;
        }
    }
现在在设计部

public partial class DesignPar : Form
{
    public variables var = null;
    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        if (var == null)
            var = new variables();
        textBox2.Text = var.Design;
    }
}

让我看看您在哪里实例化了
DesignPar
表单。谢谢,请与我一起分享,但是我应该把DesignPar(cbdesigntype.Text.ToString())放在哪里?看看这个链接,它会对您有所帮助