WinForm控件之【ListView】
基本介绍
项列表控件,拥有五种不同视图的样式供展示项集合。
常设置属性
Columns:‘详细信息’视图中用来显示的列;
Groups:ListView列表中的组,将列表各项分组区域展示;
HorizontalScrollbar:当值为true时任一项内容超出控件右边缘将显示水平滚动条;
Enabled:指示是否启用该控件,true为启用状态用户可操作列表设置的允许功能,false为禁用状态无法操作;
Items:列表中的项集合;
LabelEdit:是否允许用户就地编辑项标签;
LargeImageList:列表以大图标视图时需要绑定图像的属性;
SmallImageList:列表以小图标视图时需要绑定图像的属性;
Name:指示代码中用来标识该对象的名称;
View:设置客户显示项的五种不同视图中的一种;
事例举例
相关代码
//加载女神图片显示到列表 private void btn_LoadInfo_Click(object sender, EventArgs e) { //查重新绑定时清空旧记录 if (listView1 != null && listView1.Items.Count > 0) { listView1.Items.Clear(); } //获取本地图片信息显示到列表 Dictionary<string, int> dicIndex = new Dictionary<string, int>(); ImageList il = new ImageList(); string[] imagePaths = null; string imagePath = txt_ImagePath.Text.Trim(); if (!string.IsNullOrWhiteSpace(imagePath)) { if (System.IO.Directory.Exists(imagePath)) { int index = 0; string fileType = ";.jpg;.jpeg;.png;"; imagePaths = System.IO.Directory.GetFiles(imagePath); foreach (string path in imagePaths) { if (fileType.Contains(System.IO.Path.GetExtension(path))) { Image image = Image.FromFile(path); string fileName = System.IO.Path.GetFileNameWithoutExtension(path); il.Images.Add(fileName, image); dicIndex.Add(fileName, index++); } } } } if (il != null && il.Images.Count > 0) { //列表定义分组 ListViewGroup[] lvgs = { new ListViewGroup("内地", HorizontalAlignment.Center), new ListViewGroup("日韩", HorizontalAlignment.Center), new ListViewGroup("欧美", HorizontalAlignment.Center), new ListViewGroup("其他", HorizontalAlignment.Center)}; listView1.Groups.AddRange(lvgs); for (int i = 0, counti = il.Images.Count; i < counti; i++) { string itemText = il.Images.Keys[i]; //定义列表展示项 ListViewItem lvi = new ListViewItem(); lvi.Text = itemText; lvi.ImageIndex = dicIndex[itemText]; lvi.StateImageIndex = dicIndex[itemText]; foreach (ListViewGroup lvg in lvgs) { if (itemText.Contains(lvg.Header)) { //给展示项分组 lvi.Group = lvg; lvi.ToolTipText = string.Format("【{0}】{1}", lvg.Header, itemText); break; } } if (string.IsNullOrWhiteSpace(lvi.ToolTipText)) { //文件名未按标准格式命名时统一分到一组展示 lvi.Group = lvgs[lvgs.Length - 1]; lvi.ToolTipText = string.Format("【{0}】{1}", lvgs[lvgs.Length - 1].Header, itemText); } //添加项 listView1.Items.Add(lvi); } //设置项图片展示大小与像素 il.ImageSize = new Size(60, 60); il.ColorDepth = ColorDepth.Depth32Bit; //将项与列表绑定并设置部分属性控制列表展示及操作的类型 listView1.LargeImageList = il; listView1.SmallImageList = il; listView1.LabelEdit = true; listView1.ShowItemToolTips = true; listView1.View = View.LargeIcon; } }