猿问

如何将两个或多个构造函数传递给另一种形式?

我有一个包含数据的列表视图。我想将这些数据传输到称为查看/编辑表单的表单中。我所做的是当单击一行时,它会将数据传输到一组隐藏的文本框,该文本框将存储来自列表视图的数据。我的计划是将其转移到另一种形式。


在我的查看和编辑按钮中,我已经使用了一个构造函数来传递文本(1,2 和 3)。该文本的用途是确定该表单的内容是否将被禁用(1 - 查看,所以除了关闭按钮之外的所有内容都被禁用,2 - 添加,所以所有内容都被启用和 3- 编辑,一些文本框被启用,一些不是。)


如果您想知道我为什么要这样做,那是因为我只想对这 3 个函数使用 1 个表单。


我的尝试是使用另一个构造函数将数据从 frm1 的文本框传递到 frm2。我将如何传递 2 个不同的构造函数?


我在这里有一段代码可以为您提供更多信息:


表格 1


public string x = "1", y = "2", z = "3";


public void Viewbtn_Click(object sender, EventArgs e)

{

    Identifier1.Text = x;


    if (Mastercombo.Text == "Suppliers")

    {

        Supplier viewsupp = new Supplier(Identifier1.Text);

        viewsupp.Show();

    }

 }

表格 2


public Supplier(string identifier)

{

    InitializeComponent();

    identifierlbl.Text = identifier;

}


private void Supplier_Load(object sender, EventArgs e)

{

    if(identifierlbl.Text == "1")

    {

        SuppID.Enabled = false;

        SuppName.Enabled = false;

        SuppTIN.Enabled = false;

    }

    else if(identifierlbl.Text == "3")

    {

        SuppID.Enabled = false;

    }

}


慕的地8271018
浏览 156回答 2
2回答

拉莫斯之舞

[如何]将两个或多个构造函数传递给另一种形式这可能没有准确描述您的需求。根据需要重载带有额外参数的构造函数是合理的。但这让您需要知道您尝试调用哪个重载,这通常会增加不同的问题。您可以提供一个类FormArgs,它将所有数据作为一个很好的打包对象。然后,当它进入另一种形式时,您只需根据需要使用它。public class FormArgs{    private string identifier;    // text boxes or values    // the rest...}然后,public Supplier(FormArgs args) {...}然而,这并没有解决将这些表单和数据相互绑定的问题。
随时随地看视频慕课网APP
我要回答