我有一个包含数据的列表视图。我想将这些数据转换为一个名为view / edit form的表单。 我所做的是当点击一行时它会将数据传输到一组隐藏的文本框,这些文本框将被存储 列表视图中的数据。我的计划是将其转移到另一种形式。
在我看来&编辑按钮,我已经使用构造函数传递文本(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;
}
}
答案 0 :(得分:0)
根据评论,我认为你要求的是重载构造函数,例如:
public Supplier(string identifier)
{
InitializeComponent();
identifierlbl.Text = identifier;
}
public Supplier(string identifier, string identifierTwo)
{
InitializeComponent();
identifierlbl.Text = identifier;
}
答案 1 :(得分:0)
[如何]将两个或多个构造函数传递给另一个窗体
这可能无法准确描述您的需求。根据需要使用额外的参数重载构造函数是合理的。但这会让你知道你试图调用哪个超载,这通常会增加一个不同的问题。
您可以提供一个类FormArgs
,它将所有数据作为一个包装精美的对象。然后,当它到达另一个表单时,您只需根据需要使用它。
public class FormArgs
{
private string identifier;
// text boxes or values
// the rest...
}
然后,
public Supplier(FormArgs args) {...}
但是,这并未涉及将这些表格和数据相互绑定。