1

私がしようとしているのは、リストビュー内のアイテムを選択することです。それは一度動作します。最初に項目を選択するとうまくいく、2回目にfeatures [0] .SubItems [1] .Text;ゼロで。リストビューからアイテムを選択する

これは私が持っているものです。

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フォームにすることができます... –

答えて

2

リストビューをクリックしてもこの例外が発生すると私は賭けています。

このイベントは選択変更のためのものであり、何かが選択されたことを意味する可能性があります。実際には、thisによれば、イベントは選択されたすべてのイベントに対して1回だけ起動されます。そのような場合には、この問題を回避するための詳細とデザインについては、そのリンクを参照してください。

は、そうでない場合は、単に

+0

haha​​、greate!ありがとう – jorne

関連する問題