Winfrom之listView中显⽰图⽚(五种模式:⼤图标、⼩图标、详细信息、分组、
List)
程序初始化的时候:按照⼤图标的格式将图⽚加载到 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");
>icon图标库

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。