我在Form1中有一个2列的数据网格 - 当我用户双击特定单元格(在两列中的任何一列中)时,我希望将相应行中两列的数据复制到Form2(textBox1和textBox2)。
我该如何做到这一点?
private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
Form2 Form2 = newForm2();
Form2.Show()
}
答案 0 :(得分:1)
使用CurrentRow
属性(我假设它们都是字符串):
var selectedRow = dataGridView1.CurrentRow;
var cellOneValue = Convert.ToString(selectedRow.Cells[0].Value);
var cellTwoValue = Convert.ToString(selectedRow.Cells[1].Value);
您还可以使用更易于阅读和维护的列名:
var cellOneValue = Convert.ToString(d.Cells["nameOfYourColumn"].Value);
然后通过公共属性或构造函数本身将其传递给Form2
:
Form2 form2 = new Form2(cellOneValue, cellTwoValue);
然后以另一种形式接受:
public Form2(string someValue, string anotherValue)
{
// Do something with passed values... might want to name these better ;)
}