C#将多个表单字段传递给另一个表单

时间:2016-02-01 15:23:49

标签: c# winforms

我有一个form1,我可以使用numericUpDown订购商品。 enter image description here

我想获得用户选择的所有项目的所有项目,零售价格和子项目,包括总数。

private void Form2_Load(object sender, EventArgs e)
{
    var form1 = new Form1();

    for (int i=1; i<=15; i++)
    {
        if(form1.num[i].Value != 0)
        {

        }
    }
}

我如何在这里获取所有值并在我的form2中使用它?这是我的form2

enter image description here

3 个答案:

答案 0 :(得分:1)

假设这个列表来自某种数据查询,我建议将值放入某种数组,其中每个元素都存储&#34; ID&#34;对于项目,项目显示名称和所选金额。

当单击显示第二个表单的按钮时,遍历显示的控件并在每个项目的Numeric Up / Down控件中记录值,然后将该数组作为参数传递给第二个表单的构造函数。 / p>

然后,第二个表单应根据数组中的值构建其显示。那么,您可以只显示&#34;金额&#34; &GT; 0

答案 1 :(得分:1)

正如@AdrianoRepetti所说,这不是创建应用程序的最佳方法。您应该创建名为Products的类,其属性为:Name,Category,Price,Quantity ... 您应该将数据存储在数据库或XML等不同的数据存储中,然后您可以从数据源获取数据,并将数据绑定到产品列表并在网格视图控件中显示数据。这是一个简单的示例http://www.dotnetperls.com/datagridview-tutorial

在form2构造函数中,您可以传递产品列表,并迭代列表以计算SubTotal

答案 2 :(得分:0)

您应该将第一个表单数据存储在数据库中,然后在下一个表单加载中,您可以轻松地从数据库中获取它们并填充网格视图。 如果您有任何问题需要使用数据库或设计表请问我。