如何在C#中同时将datagridview的多个单元格值从一个窗体传递到另一个窗体?

如何在C#中同时将datagridview的多个单元格值从一个窗体传递到另一个窗体?,c#,winforms,C#,Winforms,我是c#新手,我使用的是windows窗体。 我有Form1和datagridview以及Form2和地图 我想同时将datagridview单元格值的未知数量(无限数量)从Form1传递到form2,这是因为我想在地图上显示Form1的选定单元格值(地址)。 我知道如何使用setter和getter,但在这种情况下,我认为setter和getter不起作用,因为我想传递给form2的单元格值的数量未知 任何人都知道如何将多个datagridview单元格值同时从form1传递到form2?请帮

我是c#新手,我使用的是windows窗体。 我有
Form1
datagridview
以及
Form2
和地图

我想同时将
datagridview
单元格值的未知数量(无限数量)从
Form1
传递到
form2
,这是因为我想在地图上显示
Form1
的选定单元格值(地址)。 我知道如何使用setter和getter,但在这种情况下,我认为setter和getter不起作用,因为我想传递给
form2
的单元格值的数量未知

任何人都知道如何将多个
datagridview
单元格值同时从
form1
传递到
form2
?请帮忙,谢谢

Form1中的代码在所有选定行中循环,我想传递
单元格[0]。值
表格2

 foreach (DataGridViewRow row in DGV.SelectedRows)
 {
    // here I have to pass all selected row.Cells[0].Value to form2         
 }
以下是我的解决方案:

 List<string> values = new List<string>();
 foreach (DataGridViewRow row in DGV.SelectedRows)
 {
    values.Add(row.Cells[0].Value);         
 }
 myForm2.SetForm1Values(values);
列表值=新列表();
foreach(DGV.SelectedRows中的DataGridViewRow行)
{
添加(行单元格[0].Value);
}
myForm2.SetForm1值(值);
这里有几个注意事项,第一个是您必须能够获得对其他表单实例的引用(这里表示为
myForm2
)。我在这里使用了一个名为
SetForm1Values
的方法,因为您指出您不确定属性是否可以工作,但实际上属性设置器与此方法一样有效。

以下是我的解决方案:

 List<string> values = new List<string>();
 foreach (DataGridViewRow row in DGV.SelectedRows)
 {
    values.Add(row.Cells[0].Value);         
 }
 myForm2.SetForm1Values(values);
列表值=新列表();
foreach(DGV.SelectedRows中的DataGridViewRow行)
{
添加(行单元格[0].Value);
}
myForm2.SetForm1值(值);

这里有几个注意事项,第一个是您必须能够获得对其他表单实例的引用(这里表示为
myForm2
)。我在这里使用了一个名为
SetForm1Values
的方法,因为您表示不确定属性是否有效,但实际上属性设置器与此方法一样有效。

创建一个字符串列表并将其传递到下一个表单

List<string> cellvalueList = new List<string>();

foreach (DataGridViewRow row in DGV.SelectedRows)
{
    // here I have to pass all selected row.Cells[0].Value to form2  
    cellvalueList.Add(row.Cells[0].Value);   
}

此SetValues是Form2中的函数,它将字符串列表作为参数

创建字符串列表并将其传递到下一个表单

List<string> cellvalueList = new List<string>();

foreach (DataGridViewRow row in DGV.SelectedRows)
{
    // here I have to pass all selected row.Cells[0].Value to form2  
    cellvalueList.Add(row.Cells[0].Value);   
}

此SetValues是Form2中的函数,它将字符串列表作为参数

您可以使用以下代码获取所选行的
单元格[0]
的值:

List<string> selectedData = this.dataGridView1.SelectedRows.Cast<DataGridViewRow>()
                                .Select(row => (string)row.Cells[0].Value)
                                .ToList();
List selectedData=this.dataGridView1.SelectedRows.Cast()
.Select(行=>(字符串)行。单元格[0]。值)
.ToList();
这相当于:

List<string> selectedData = new List<string>();
foreach (DataGridViewRow row in this.dataGridView1.SelectedRows)
{
    selectedData.Add((string)row.Cells[0].Value);
}
List selectedData=new List();
foreach(此.dataGridView1.SelectedRows中的DataGridViewRow行)
{
选择数据。添加((字符串)行。单元格[0]。值);
}

您可以使用以下代码获取所选行的
单元格[0]
的值:

List<string> selectedData = this.dataGridView1.SelectedRows.Cast<DataGridViewRow>()
                                .Select(row => (string)row.Cells[0].Value)
                                .ToList();
List selectedData=this.dataGridView1.SelectedRows.Cast()
.Select(行=>(字符串)行。单元格[0]。值)
.ToList();
这相当于:

List<string> selectedData = new List<string>();
foreach (DataGridViewRow row in this.dataGridView1.SelectedRows)
{
    selectedData.Add((string)row.Cells[0].Value);
}
List selectedData=new List();
foreach(此.dataGridView1.SelectedRows中的DataGridViewRow行)
{
选择数据。添加((字符串)行。单元格[0]。值);
}

能否将它们作为
列表传递?你的问题中没有足够的信息来真正帮助你。@Reza Aghaei。数据来自sqlserver@CodingGorilla. 我不知道我能不能。请询问我是否遗漏了任何信息如果你不知道你能通过什么或如何通过,我不确定我们中的任何人是否能帮助你。我可以告诉你,绝对可以将它们作为
列表
传递。你可以将值放入
列表
,正如@CodingGorilla提到的,T是第0列中的值类型。你可以将它们作为
列表
传递吗?你的问题中没有足够的信息来真正帮助你。@Reza Aghaei。数据来自sqlserver@CodingGorilla. 我不知道我能不能。请询问我是否遗漏了任何信息如果你不知道你能通过什么或如何通过,我不确定我们中的任何人是否能帮助你。我可以告诉你,绝对可以将它们作为
列表
传递。你可以将值放入
列表
中,如@CodingGorilla所述,T是第0列中的值类型。