有两种形式。
在第一种形式中,有一个文本框和一个图片框。
单击图片框时,将打开包含datagridview的第二个表单。
我想要的是:当我点击datagridview的单元格时,它的值应显示在第一个表单的文本框中。
我不想以第二种形式创建第一个表单的对象,因为网格视图的数据必须传递给多个表单
答案 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();