winform利用ImageList控件和ListView控件組合制作圖片文件瀏覽器,見圖,比較簡單,實現LISTVIEW顯示文件夾圖片功能。

1.選擇文件夾功能代碼:
folderBrowserDialog1.SelectedPath = textBox2.Text;
if (this.folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
if (this.folderBrowserDialog1.SelectedPath.Trim() != "")
textBox2.Text = this.folderBrowserDialog1.SelectedPath.Trim();
}
2.確定按鈕代碼,當然以下代碼也可以寫到選擇文件夾的瀏覽按鈕中,在此只是為了更能說明問題。
確定按鈕實現從選擇的文件夾中把圖片文件顯示到Listview控件中,見代碼:
if (textBox2.Text.Trim() == "") return;
imageList1.Images.Clear();
listView1.Items.Clear();
imageLists.Clear();
//刷新Listview
bindListView();
//下面是方法
private void bindListView()
{
DirectoryInfo dir = new DirectoryInfo(@textBox2.Text.Trim());
string[] files = new string[100];
string ext = "";
foreach (FileInfo d in dir.GetFiles())
{
ext = System.IO.Path.GetExtension(textBox2.Text.Trim() + d.Name);
if (ext == ".jpg" || ext == ".jpeg") //在此只顯示Jpg
{
imageLists.Add(textBox2.Text.Trim() +"\\"+ d.Name);
}
}
for (int i = 0; i < imageLists.Count; i++)
{
imageList1.Images.Add(System.Drawing.Image.FromFile(imageLists[i].ToString()));
listView1.Items.Add(System.IO.Path.GetFileName(imageLists[i].ToString()), i);
listView1.Items[i].ImageIndex = i;
listView1.Items[i].Name = imageLists[i].ToString();
}
}
需要事先要在代碼里定義:
List<string> imageLists = new List<string>();
private string path= Application.StartupPath;
需要在窗體增加imageList和listview控件,並把ListView控件的LargeImageList設置為imageList1
ListView控件顯示圖片的大小可以在imageList1控件中調整ImageSize屬性,如果圖片失真,可以設置imageList1控件的ColorDepth值為Depth32Bit.
完成。
