2013-04-05 73 views
-1

这里发生的事情是,当我点击myListBox中的某个学生打开他们的详细信息时,将显示一个显示其详细信息的窗体,同时还会显示一个窗体,显示第一个教师的详细信息myListBox。如何停止打开多个表格?

如果我点击myListBox中的一个教师,只是一个窗体窗体将打开他们,这是我想要的。我如何才能让这样的工作像学生一样工作?是否有可能做我想做的事情:

if(myListBox.SelectedIndex == Student) 
{ 
    //code to open details form here 
} 

这就是我如何打开人的细节表单。如果我没有使用说明myListBox.SelectedIndex ==索引的if语句。然后,每个人的详细信息将打开。

private void openInfoButton_Click(object sender, EventArgs e) 
{ 
      int index = 0; 
      foreach (Student student in studentsList) 
      { 
       if (myListBox.SelectedIndex == index) 
       { 
        PersonDetails studentDetails = new PersonDetails(student); 
        studentDetails.Show(); 
        break; 
       } 
       index++; 
      } 

      foreach (Teacher teacher in teacherList) 
      { 
       if (myListBox.SelectedIndex == index) 
       { 
        PersonDetails teacherDetails = new PersonDetails(teacher); 
        teacherDetails.Show(); 
        break; 
       } 
       index++; 
      } 
} 
+1

那么你告诉它在'foreach循环内的'studentDetails.Show()'..你还有什么期望..? – MethodMan 2013-04-05 20:50:24

+0

它被称为“调试器”,使用它,你会看到奇迹 – 2013-04-05 20:53:10

+0

@DJKRAZE我可以放哪里?如果我在外面创建instace,它不会检测到学生,所以在打开时不会显示表单的任何详细信息?我很抱歉,如果我错了,请纠正我,如果我是 – Kash 2013-04-05 20:55:17

回答

0

如果你看一下sender对象时,它会告诉你哪个按钮被点击。从那里你应该知道是否显示学生或老师的形式

相关问题