如何将datagridview的单元格值传递给另一种形式

时间:2016-06-02 13:11:39

标签: c# winforms

有两种形式。

在第一种形式中,有一个文本框和一个图片框。

单击图片框时,将打开包含datagridview的第二个表单。

我想要的是:当我点击datagridview的单元格时,它的值应显示在第一个表单的文本框中。

我不想以第二种形式创建第一个表单的对象,因为网格视图的数据必须传递给多个表单

1 个答案:

答案 0 :(得分:0)

我将在第二种形式中定义一个委托,并将第一种形式的方法分配给它。

表格2:

public Action<string> DataSelectedCallback;

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
    if (DataSelectedCallback != null)
    {
        var cell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
        DataSelectedCallback(cell.Value)
    }
}

表格1:

var form2 = new Form2();
form2.DataSelectedCallback = cellData =>
    {
        // do something with cellData
    };
form2.Show();