0

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

4

1 回答 1

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();

我希望这就是你要找的。从您的原始问题中有点难以理解。

于 2013-10-13T11:21:07.593 回答