【问题标题】:Getting listbox items to display to another form获取列表框项目以显示到另一个表单
【发布时间】:2013-10-21 02:13:33
【问题描述】:

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

【问题讨论】:

    标签: c# textbox listbox


    【解决方案1】:

    您必须以一种或另一种方式将信息从 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();
    

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

    【讨论】:

    • 抱歉 Sarkilas 但我忘了提及客户的数据位于数据库中。我不知道这是否会改变什么。虽然我很难理解你的回答,但我真的很感激。
    • 它仍然不应该有所作为。只需将逻辑数据传递给 form2 并将那里的数据设置为以与在 form1 中相同的方式显示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多