2013-04-05 58 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對象時,它會告訴你哪個按鈕被點擊。從那裏你應該知道是否顯示學生或老師的形式