为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
慕的地8271018 2021-07-01 17:05:29
我有一个包含数据的列表视图。我想将这些数据传输到称为查看/编辑表单的表单中。我所做的是当单击一行时,它会将数据传输到一组隐藏的文本框,该文本框将存储来自列表视图的数据。我的计划是将其转移到另一种形式。在我的查看和编辑按钮中,我已经使用了一个构造函数来传递文本(1,2 和 3)。该文本的用途是确定该表单的内容是否将被禁用(1 - 查看,所以除了关闭按钮之外的所有内容都被禁用,2 - 添加,所以所有内容都被启用和 3- 编辑,一些文本框被启用,一些不是。)如果您想知道我为什么要这样做,那是因为我只想对这 3 个函数使用 1 个表单。我的尝试是使用另一个构造函数将数据从 frm1 的文本框传递到 frm2。我将如何传递 2 个不同的构造函数?我在这里有一段代码可以为您提供更多信息:表格 1public 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();    } }表格 2public 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;    }}
查看完整描述

2 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

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


这可能没有准确描述您的需求。根据需要重载带有额外参数的构造函数是合理的。但这让您需要知道您尝试调用哪个重载,这通常会增加不同的问题。


您可以提供一个类FormArgs,它将所有数据作为一个很好的打包对象。然后,当它进入另一种形式时,您只需根据需要使用它。


public class FormArgs

{

    private string identifier;

    // text boxes or values

    // the rest...

}

然后,


public Supplier(FormArgs args) {...}

然而,这并没有解决将这些表单和数据相互绑定的问题。


查看完整回答
反对 回复 2021-07-11
  • 2 回答
  • 0 关注
  • 155 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信