程序初始化的時候:按照大圖標的格式將圖片加載到 ListView 控件中
主要代碼:
LoadImgList(); //加載圖片集合的方法
lvList.Items.Clear();
//lvList.ShowGroups = false;//不分組顯示
if (largeList!=null&&largeList.Images.Count>0)//判斷大圖標中是否有圖片
{
for (int i = 0; i < largeList.Images.Count; i++)
{
string iText = largeList.Images.Keys[i];//獲取largeList中的key
ListViewItem li = new ListViewItem();//初始化每一項
li.Text = iText;//獲取文本
li.ImageIndex = i;//獲取圖片
lvList.Items.Add(li);
}
}
lvList.View = View.LargeIcon;//以大圖標顯示
lvList.LargeImageList = largeList;//大圖標
lvList.SmallImageList = smallList;//小圖標
Dictionary<int,string> dic = new Dictionary<int,string>();//定義字典 存儲圖片的名字跟索引
//加載圖片集合
private void LoadImgList()
{
string path = @"C:\Users\leiminghui\Desktop\朝夕教育訓練\picture";//圖片位置
if (Directory.Exists(path))//如果獲取圖片的位置字段不為空
{
string[] files = Directory.GetFiles(path);//獲取要加載的相關圖片
if (files.Length>0)
{
largeList.Images.Clear();//以防殘留上次的圖片 先進行清空操作
smallList.Images.Clear();
int index = 0;//定義索引
string[] fileType = { ".jpg", ".png" };//加載圖片的相關格式
foreach (string fpath in files)
{
if (fileType.Contains(Path.GetExtension(fpath)))
{
Image img = Image.FromFile(fpath);//獲取圖片
string PthName= Path.GetFileNameWithoutExtension(fpath);//獲取圖片的名稱
largeList.Images.Add(PthName, img);//大圖標顯示 PthName 圖片的名稱 img 圖片
smallList.Images.Add(PthName, img);//小圖標顯示
dic.Add(index,fpath);//index 圖片的索引 fpath 圖片的路徑
index++;
}
}
largeList.ImageSize = new Size(75,75);//大圖標顯示的尺寸
smallList.ImageSize = new Size(20,20);//小圖標顯示的尺寸
}
}
}
以大圖標的形式顯示 lvList.View = View.SmallIcon;//大圖標 ListView控件名稱.View=View.SmallIcon;

小圖標顯示 lvList.View = View.List;//小圖標

Tile顯示
lvList.View = View.Tile;//Tile

List顯示 lvList.View=View.List;

以詳細信息顯示
lvList.Items.Clear();
lvList.Columns.Clear();
//lvList.ShowGroups = false;
lvList.View = View.Details;//詳細信息
#region 列標頭信息 添加
lvList.Columns.Add("文件名", 100, HorizontalAlignment.Left);
lvList.Columns.Add("修改日期", 150, HorizontalAlignment.Left);
lvList.Columns.Add("類型", 80, HorizontalAlignment.Left);
lvList.Columns.Add("大小", 60, HorizontalAlignment.Left);
#endregion
#region 項添加()
for (int i = 0; i < dic.Count; i++)
{
ListViewItem li = new ListViewItem();
li.ImageIndex = i;//獲取圖片的索引
li.Text = smallList.Images.Keys[i];//獲取圖片的文本信息
li.SubItems.Add(File.GetCreationTime(dic[i]).ToString());//獲取文件修改的日期
li.SubItems.Add(Path.GetExtension(dic[i]));//文件的類型
long length = new FileInfo(dic[i]).Length;//獲取文件大小 字節
li.SubItems.Add((length / 1024).ToString());//KB
lvList.Items.Add(li);//添加到集合中顯示
}
lvList.GridLines = true;//顯示網格
#endregion

以分組顯示
主要代碼:
lvList.ShowGroups = true;//顯示分組
//添加組
lvList.Groups.Clear();//清空
lvList.Groups.Add(new ListViewGroup("動物",HorizontalAlignment.Center));//類型 對齊方式
lvList.Groups.Add(new ListViewGroup("人物", HorizontalAlignment.Center));//類型 對齊方式
lvList.Groups.Add(new ListViewGroup("風景", HorizontalAlignment.Center));//類型 對齊方式
lvList.Groups.Add(new ListViewGroup("游戲", HorizontalAlignment.Center));//類型 對齊方式
//組名--數字
//鍵值對 Dictionary
Dictionary<string, string> dicGroup = new Dictionary<string, string>();
dicGroup.Add("動物", "01");//文件包含 01 分為A組
dicGroup.Add("人物", "02");
dicGroup.Add("風景", "03");
dicGroup.Add("游戲", "04");
//分組
for (int i = 0; i < lvList.Items.Count; i++)
{
foreach (ListViewGroup lvg in lvList.Groups)
{
//文件的指定編號 是否跟組所對應的項一致
if(lvList.Items[i].Text.Substring(0,2)==dicGroup[lvg.Header])
{
lvList.Items[i].Group = lvg;
break;
}
}
}


