2017-01-06 30 views
0

ListViewImageListを使って画像グリッドビューを作成しました。image namesdatabaseから来て、画像はcategoriesフォルダに保存されています。 I追加画像リストビュー項目と画像リスト項目missmatching

imgList.Images.Add("", Image.FromFile(@"./categories/" + dr["image"]));が、プログラムがsecond imageで正しい画像に設定されていない1stリストビュー項目、1stリストビューitemを実行したとき、私はインデックスにエラーがあると思います。私のコードやこれを解決する方法に何か問題がありますか?

private void LoadCategories() { 
      DataTable categories; 
      con = new Dbfunctions(); 
      con.MysqlQuery("SELECT * FROM categories WHERE online = 1"); 
      categories = con.QueryEx(); 

      //ImageList 

      ImageList imgList = new ImageList(); 

      //CLEAR listview_Category items 
      listView_Category.Items.Clear(); 

      //set listview category items as Large icons 
      listView_Category.View = View.LargeIcon; 

      //ADD image list into Listview 
      listView_Category.LargeImageList = imgList; 


      int i = 0; 
      //ADD image into imagelist and Listview 
      foreach(DataRow dr in categories.Rows){ 
       imgList.Images.Add("", Image.FromFile(@"./categories/" + dr["image"])); 
       ListViewItem category = new ListViewItem(); 

       //bind listview item vwith image list item 
       category.ImageIndex = i; 

       //set Category name 
       category.Text = dr["name"].ToString(); 

       //set font list items styles 
       category.Font = new System.Drawing.Font("Courier New", 15, System.Drawing.FontStyle.Regular); 
       category.ForeColor = System.Drawing.Color.FromArgb(252, 119, 123); 

       //ADD category items into Listview 
       listView_Category.Items.Add(category); 

       imgList.ImageSize = new Size(140, 140); 
       imgList.ColorDepth = ColorDepth.Depth32Bit; 

       i++; 
      } 


     } 
+0

あなたは__sure__それは不一致ですか? – TaW

+0

はい、1枚目の画像はロードされません... 2枚目の画像は1枚目になります – user3722956

答えて

-1

DB行のシェイプを指定してください。たぶんあなたはDBでミスマッチがあるので、適切なインデックスではないと言います。

+0

これは答えではありません!コメントして削除するに移動! – TaW

+0

私はまだコメントできません(評判が低い)、私は発行者を喜んで支援します。 – NealSinclair

関連する問題