C# Winforms-在不同窗口中显示数据网格选择

C# Winforms-在不同窗口中显示数据网格选择,c#,.net,winforms,C#,.net,Winforms,我在窗口中有一个数据网格 如果双击,我需要在新窗口的文本框中显示所选行 当我双击一行时,我可以立即显示新表单 我怎么知道在新窗口中双击了哪一行 我找不到一个方法让我的“form2”,即新窗口,访问发送它的datagrid 表格2怎么知道 为了理解这一点,我应该阅读哪些“主题”?这与数据绑定有关吗 谢谢为CellDoubleClick或CellContentDoubleClick定义事件处理程序。 在事件处理程序函数中,执行此操作 private void dataGridView1_Ce

我在窗口中有一个数据网格

如果双击,我需要在新窗口的文本框中显示所选行

当我双击一行时,我可以立即显示新表单

我怎么知道在新窗口中双击了哪一行

我找不到一个方法让我的“form2”,即新窗口,访问发送它的datagrid

表格2怎么知道

为了理解这一点,我应该阅读哪些“主题”?这与数据绑定有关吗


谢谢为CellDoubleClick或CellContentDoubleClick定义事件处理程序。 在事件处理程序函数中,执行此操作

    private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
    { 
    DataGridViewRow row = (DataGridViewRow) sender; //cast the sender object to DataGridViewRow
    Form2 newForm = new Form2(row);
    }
在Form2构造函数中

    public class Form2 : Forms
    {
       private DataGridViewRow _row;

    public Form2(DataGridView row)
    {
        _row = row; // now you have a copy of the row in question
        txtFname.Text = _row.Cells[0].ToString(); 
        //row.Cells[0], row.Cells[1], row.Cells[n] will work here
    }

在form2上创建一个公共方法,并在双击该行时调用它。该方法应该包含一个参数(s)您想要显示的数据嗨…我正在尝试KiX建议,然后将尝试按照您的方式工作…我想我理解您的建议…谢谢!这取决于执行情况。但我希望我已经给了你一个想法。理想情况下,您只想通过有问题的行。您不需要知道整个datagridview。构造函数或setter方法上的参数可以用于Form2。您好……我如何访问Form2中的“行”。。。。如果我尝试分配txtfname=row[0].ToString();它说行需要2个参数……请参阅我的注释。行在该上下文中已可用。所以intellisense无论如何都会帮助你。单元格是该特定行中的单元格集合。所以row.Cells[0]将是该行的第一列。我想我误解了您的意思。我认为更好的方法是在Form2类中声明DataGridViewRow字段。我会编辑它