我所做的是,我创建了许多不同人的实例,然后将每个人添加到一个名为 listOfPeople 的列表中,并将每个人的名字放在一个列表框中。然后我创建了一个新表单来打印我从列表框中选择的人的详细信息,但是当我选择一个人时,他们的所有详细信息都会以多种形式打开。例如,如果我在 listOfPeople 中有 Bill & Jill,并且我想查看 Bill 的详细信息,则会打开 2 个表单,一个显示 Bill 的详细信息,另一个显示 Jill 的详细信息。
我该如何解决这个问题,以便只打开一个表单?
//This is where I create the instance to open the details form for a person
private void detailsButton_Click(object sender, EventArgs e)
{
if (peopleListBox.SelectedItem == null)
{
MessageBox.Show("No person selected!");
}
else
{
foreach (Person person in listOfPeople)
{
PersonDetails personDetails = new PersonDetails(person);
personDetails.Show();
}
}
}
public partial class PersonDetails : Form
{
//This is the constructor that takes in the as a parameter and prints their data
public PersonDetails(Person person)
{
InitializeComponent();
displayNameLabel.Text = person.PrintData().ToString();
}
}