1

내 목록보기에서 항목을 선택하면 어떻게됩니까? 그게 한 번 작동합니다. 처음에 항목을 잘 선택하면 두 번째로는 [0] .SubItems [1] .Text; 0에.목록보기에서 항목 선택

private void listViewFeatures_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    ListView.SelectedListViewItemCollection features = listViewFeatures.SelectedItems; 
    string feature = features[0].SubItems[1].Text; 
    BL_AddReport addReport = new BL_AddReport(this.databaseConnectionString); 

    Dictionary<string, bool> pictures = addReport.GetpicturesFromFeature(feature); 

    foreach (KeyValuePair<string, bool> pic in pictures) 
    { 
     if (pic.Value) { 
      pictureBoxCar.Image = Image.FromFile(pic.Key); 
     } 
     else 
     { 
      pictureBoxEquip.Image = Image.FromFile(pic.Key); 
     } 
    } 
}  

사람이 문제가 무엇인지 알고 있나요 :

이 내가 가진 무엇인가?

+1

왜 간단한'if' 문을 구현하지 않도록'features.Count> 0' 것을 확인하기 위해 그것으로 인덱싱하기 전에 내부에 아무것도가 변수 "기능"있는지 확인하십시오? 모든 문제가 사라졌습니다. –

+0

Page_Load 이벤트 처리기에 코드를 표시하십시오. 로드중인 데이터를 다시로드하는 중일 수 있습니다. –

+0

@Alex : 왜 이것이 ASP.NET 프로젝트라고 가정합니까? Windows Forms 일 수 있습니다 ... –

답변

2

목록보기를 클릭해도이 예외가 발생한다고 확신합니다.

이 이벤트는 선택 변경을위한 것임을 기억하십시오. 이는 무언가가 선택되었지만 아무 것도 없음을 의미 할 수 있습니다. 사실 this에 따르면 이벤트는 선택한 모든 항목에 대해 한 번 발생합니다. 이 문제에 대한 자세한 정보와 디자인은 해당 링크를 참조하십시오.

그렇지 않으면 단지

+0

하하, greate! 감사 – jorne