繁体   English   中英

通过3个类传递数据,这些类从1中选择值,然后输入另一个的文本框

[英]passing data through 3 classes taking selected values from 1 and inputing into textbox's of another

好的,我要根据组合框中的选定文本获取信息,然后将其传递给另一种形式的文本框。

我有一个叫做变量的类

public class variables
{
    public string Design { get; set; }
    public string Classnum { get; set; }
}

从组合框中的用户选择中接收信息这是在另一个名为home的类中

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而是“”,所以我的问题显然是我正在传递数据错误的地方

这是因为您正在创建变量类的新实例

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

private string design {get; set;}

并添加一个带参数的重载构造函数

并从类主目录向构造函数传递参数

像这样

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;
        }
    }

现在在DesignPar中...

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;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM