Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.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# 从关闭窗体传递数据网格数据_C#_Winforms_Datagridview - Fatal编程技术网

C# 从关闭窗体传递数据网格数据

C# 从关闭窗体传递数据网格数据,c#,winforms,datagridview,C#,Winforms,Datagridview,我有两个窗体Form1和Form2。Form1和Form2都有DataGrid。第二种形式是从SqlCommand填充。Form1具有网格自定义 这是表格1 public partial class OrderForm : Form { public Form1() { InitializeComponent(); Form1Grid.CellDoubleClick += OrderGrid_CellDoubleClick;

我有两个窗体Form1和Form2。Form1和Form2都有DataGrid。第二种形式是从SqlCommand填充。Form1具有网格自定义

这是表格1

public partial class OrderForm : Form
{
    public Form1()
    {
        InitializeComponent();
        Form1Grid.CellDoubleClick += OrderGrid_CellDoubleClick;            
    }

    private void OrderGrid_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
    {
        Form2 f2 = new Form2();
        f2.ShowDialog();
    }
}
这是表格2

public partial class Form2: Form
{

    public ProductsView()
    {
        InitializeComponent();
        Form2Grid.CellMouseDoubleClick += Form2Grid_CellMouseDoubleClick;
    }

    private void Form2Grid_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
    {
     //What code here
        this.Hide();
    }

    private void Form2_Load(object sender, EventArgs e)
    {
        Object prd = new object();
        Form2Grid.DataSource = prd.Read(); // prd.Read() is SqlDataTable that populate the Grid in Form2
    }  
    protected override void OnClosed(EventArgs e)
    {
        this.Dispose();
    }      
}
我想做的事情是。当我双击Form1上的GridRow时,使用“从SQLPopulate”命令打开Form2;当我双击Form2时,该行需要在Form1中转换并填充Form1上的选定行,并隐藏Form2。这需要重复,直到用户结束,然后做一些无关紧要的事情。最后,必须用表单2中单击的行填充表单1。 仅此循环Form1->双击行->Form2->双击行->转移Form1上的行->隐藏Form2,并根据用户需要重复多次


如果你需要更多的解释,我会做的。

顺便说一句,在Form2上公开一个坏名字属性!包含需要返回的信息,然后在ShowDialog调用后,从属性中获取数据,并在Form1中以您想要的方式使用它。

如果您尝试编写所需的代码,人们可能更愿意提供帮助,而不是以文本形式发布您的算法。