ListView
とImageList
を使って画像グリッドビューを作成しました。image names
はdatabase
から来て、画像は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++;
}
}
あなたは__sure__それは不一致ですか? – TaW
はい、1枚目の画像はロードされません... 2枚目の画像は1枚目になります – user3722956