Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#将数据从表格2传递到表格3_C#_Winforms - Fatal编程技术网

C#将数据从表格2传递到表格3

C#将数据从表格2传递到表格3,c#,winforms,C#,Winforms,我正在开发一个农田软件。有三种表格:表格一、表格二、表格三 form1只是一个欢迎页面,当你进入form2时,它是一个数据收集,输入从文本框中收集,然后在后台相乘并显示在form3上。最可怕的方法是在form3上有14个不同的面向公众的属性 public string textboxValue1; public string textboxValue2; public string textboxValue3; etc... 然后,当您新建Form3时,您将可以访问这些表并以这种方式传递数据

我正在开发一个农田软件。有三种表格:表格一、表格二、表格三


form1只是一个欢迎页面,当你进入form2时,它是一个数据收集,输入从文本框中收集,然后在后台相乘并显示在form3上。

最可怕的方法是在form3上有14个不同的面向公众的属性

public string textboxValue1;
public string textboxValue2;
public string textboxValue3;
etc...
然后,当您新建Form3时,您将可以访问这些表并以这种方式传递数据

因此:

理想情况下,您应该使用业务对象/模型。 您已经提到了14行4列,因此您的模型可能如下所示:

public class modelname
{
  public datatype column1fieldname { get; set; }
  public datatype column2fieldname { get; set; }
  public datatype column3fieldname { get; set; }
  public datatype column4fieldname { get; set; }
}
其中数据类型是string、int、decimal或您使用的任何值类型,而column\u fieldname与您的对象中的某些内容相关

在form2中,您可以拥有私人财产:

private List<modelname> capturedData;
Form3的构造函数可能是:

public Form3(List<modelname> capturedData)
{
  InitializeComponent();

  // Then whatever you want to do with it...
}
public Form3(列表捕获数据)
{
初始化组件();
//那么不管你想用它做什么。。。
}

这台机器的代码在哪里?代码,您面临的问题是什么?Stackoverflow专注于解决具体的编程问题,而不是提供一般的编程建议。请参考它不是一个重复的请。。。阅读曲目标记为“重复”的对手实际上是不同的。这两个问题都是问题,但实际上无法理解这一点。你不理解哪一点?上面有两个解决方案。。。一种可怕的粗糙的noob方法(前两个代码块)和一种技术上更正确的使用业务模型的方法(简单地说是一个类,您可以在其中存储一行的数据),然后您可以将其传递到表单3以获得其操纵视图。您甚至可以将此行传递到一些业务逻辑中,这些业务逻辑将数据转换为操纵视图,以便您准备传递到form3。
public Form2()
{
  InitializeComponent();

  capturedData = new List<modelname>();
}
private void CollectData()
{
  capturedData.Clear();

  AddRowData(yourrow1column1value, yourrow1column2value, yourrow1column3value, yourrow1column4value);  // Row 1
  AddRowData(yourrow2column1value, yourrow2column2value, yourrow2column3value, yourrow2column4value);  // Row 2
  // etc...
}

private void AddRowData(datatype column1data, datatype column2data, datatype column3data, datatype column4data)
{
  capturedData.Add(new modelname() { column1fieldname = column1data, column2fieldname = column2data, column3fieldname = column3data, column4fieldname = column4data});
}
public Form3(List<modelname> capturedData)
{
  InitializeComponent();

  // Then whatever you want to do with it...
}