单击ListBox上的项目调用新表单

时间:2011-12-27 14:47:27

标签: c#

我是学生,我还是软件编程的新手。我的表单中有一个列表框,在我的列表框中有列出的项目或名称示例“Eric,Molly,Mel”,当我点击“Eric”时,它应该将我重定向到包含有关“Eric”的更多信息的新表单。如何使用列表框中列出的项目调用新表单?

4 个答案:

答案 0 :(得分:5)

假设您正在使用WinForms开发项目,并且您有一个名为Form1的表单,其上有一个名为listBox1的ListBox,您可以这样做:

public Form1()
{
    InitializeComponent();

    listBox1.Click += OnListBoxItemClick;
}

private void OnListBoxItemClick(object sender, EventArgs e)
{
    var form2 = new Form2(listBox1.SelectedItem);
    form2.ShowDialog();
}

您的班级Form2必须有一个构造函数,该构造函数接受所选项作为参数。

答案 1 :(得分:1)

  1. 创建`Windows Forms Application。
  2. ListBox控件放在表单上。
  3. 将一些数据源绑定到ListBox控件。
  4. 创建名为Form的新PersonDetailsForm,可以显示人员数据记录的详细信息。
  5. 订阅SelectedIndexChanged活动。
  6. 将此类代码放入事件处理程序:

    PersonDetailsForm detailsForm = new PersonDetailsForm();
    detailsForm.PersonDataItem = listBox1.SelectedItem; // here is your info about person
    detailsForm.ShowDialog();
    

答案 2 :(得分:0)

尝试使用“ListBox.SelectedIndexChanged”事件。您还应该注意到Click事件和我上面提到的事件之间的区别。

有关详细信息,请访问MSDN doc

答案 3 :(得分:0)

我在我的博客上提供了一个名为

的例子

C#: How to Load a Winform ComboBox or ListBox and have a Unique Value Associated with the Selected Item

C# Winforms and the Hidden Association Tag

两者都可以使用......但它的要点是你要么用表格加载对象Tag,当它被选中时,启动它或者有一个专门的字典来保存表格。有关完整示例,请参阅上述链接。

HTH