获取列表框项目以显示给另一个表单

时间:2013-10-13 11:14:23

标签: c# textbox listbox

我还是新来的,所以请考虑一下。我的问题是我有两种形式,(form1和form2)。在form1中有一个包含客户名称的列表框。现在我想要的是当用户点击列表框上的名称时,弹出一个新表单(form2)并在文本框中显示客户的其余信息(年龄,地址,电话号码)。当我单击列表框上的名称时,它会显示其余信息,但仅显示在该表单上,我无法将其显示在另一个表单上。我是用Visual Studio C#编写的。任何帮助,将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

您必须以某种方式将信息从form1传递给form2。 如果客户的数据是在一个类中收集的,那么您只需在列表框中传递与所选索引相对应的对象。

例如,如果您在form1中的客户数据设置如下:

List<CustomerData> Customers { get; set; }

该列表中的每个对象都对应于列表框中的相应索引,那么您需要一个类似于此的form2构造函数:

public form2(CustomerData customer){
  // set all form data here based on the customer
}

潜在地,如果你在form2中设置传递的对象,你可以在form2中操作对象,它也会在form1中自动更新(假设它是一个类)。

然后创建列表框点击事件方法并打开表单,传递选定的客户:

if(listbox.SelectedIndex < 0) return;
form2 f = new form2(Customers[listbox.SelectedIndex]);
f.Show();

我希望这就是你要找的东西。你原来的问题有点难以理解。