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 > ) { 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 = ;
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 > )
{
//列表定义分组
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 = , 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 - ];
lvi.ToolTipText = string.Format("【{0}】{1}", lvgs[lvgs.Length - ].Header, itemText);
} //添加项
listView1.Items.Add(lvi); } //设置项图片展示大小与像素
il.ImageSize = new Size(, );
il.ColorDepth = ColorDepth.Depth32Bit; //将项与列表绑定并设置部分属性控制列表展示及操作的类型
listView1.LargeImageList = il;
listView1.SmallImageList = il;
listView1.LabelEdit = true;
listView1.ShowItemToolTips = true;
listView1.View = View.LargeIcon; }
}
WinForm控件之【ListView】的更多相关文章
- C# winform控件之listview学习积累
//1.用key给ListViewItem 的 SubItems赋值 ListViewItem listViewItem= listView1.Items.Add("第一列文字") ...
- winform利用ImageList控件和ListView控件组合制作图片文件浏览器
winform利用ImageList控件和ListView控件组合制作图片文件浏览器,见图,比较简单,实现LISTVIEW显示文件夹图片功能. 1.选择文件夹功能代码: folderBrowserDi ...
- WinForm控件使用文章收藏整理完成
对C# WinForm开发系列收集的控件使用方面进行整理, 加入了一些文章, 不断补充充实, 完善这方面. 基础 - 常用控件 C# WinForm开发系列 - CheckBox/Button/Lab ...
- C#中常见的winform控件命名规范
我们知道Button 常常简称为btn,那么Winform中的其它控件呢,这篇文章在C#的winform控件命名规范 的基础上对一些控件的名称的简称进行了整理. 1. 标准控件 NO. 控件类型简写 ...
- C# WinForm控件、自定义控件整理(大全)
转:http://www.cnblogs.com/top5/archive/2010/04/29/1724039.html 对C# WinForm开发系列收集的控件使用方面进行整理, 加入了一些文章, ...
- C#中常见的winform控件命名规范 转
我们知道Button 常常简称为btn,那么Winform中的其它控件呢,这篇文章在C#的winform控件命名规范 的基础上对一些控件的名称的简称进行了整理. 1. 标准控件 NO. 控件类型简写 ...
- 在WPF中使用WinForm控件方法
1. 首先添加对如下两个dll文件的引用:WindowsFormsIntegration.dll,System.Windows.Forms.dll. 2. 在要使用WinForm控 ...
- WPF 调用WinForm控件
WPF可以使用WindowsFormsHost控件做为容器去显示WinForm控件,类似的用法网上到处都是,就是拖一个WindowsFormsHost控件winHost1到WPF页面上,让后设置win ...
- WinForm控件TreeView 只部分节点显示 CheckBox
WinForm控件TreeView 只部分节点显示 CheckBox 用过asp.net的应该知道,要在treeview中实现上述功能可以使用ShowCheckBox 属性指定那些节点显示check ...
- Winform控件重写
Winform控件重写 因为最近的项目中越来越多的遇到了比较特殊的一些控件,有时候我们自己封装一下可能更加方便我们的使用,下面是我们项目中用到的,简单做一个记录. TextBox控件重写 主要的控制代 ...
随机推荐
- Simple BeamSearch Codes for Python
Code from: https://github.com/SeitaroShinagawa/simple_beamsearch probs = [[[],[0.3,0.7]], [[0],[0.1, ...
- 【C++】小心使用文件读写模式:回车('\r') 换行('\n')问题的一次纠结经历
原来没有仔细注意C++读写文件的二进制模式和文本模式,这次吃了大亏.(平台:windows VS2012) BUG出现: 写了一个程序A,生成一个文本文件F保存在本地,然后用程序B读取此文件计算MD ...
- GIS基础软件及操作(九)
原文 GIS基础软件及操作(九) 练习九.水文分析 水文分析:根据DEM提取河流网络,计算流水累积量.流向.根据指定的流域面积大小自动划分流域 水文分分析工具 (1)通过Arctoolbox:水文分析 ...
- ReportViewer,RDLC 报表开发之个性化样式
原文:ReportViewer,RDLC 报表开发之个性化样式 报表开发中,客户对样式提出了要求: 1.工具栏上显示每页条数 2.只导出Excel,不需要下拉菜单. 3.报表上显示的图表,分页时,每页 ...
- Visual Studio 2017报表RDLC设计器与工具箱中Report Viewer问题
原文:VS2017入门 RDLC入门之01 本系列所有内容为网络收集转载,版权为原作者所有. VS2017初始安装后和VS2015一样,都没有ReportDesigner/ReportViewer R ...
- [转载]关于Java reference的一篇博文
不再额外的叨叨了,直接附上原地址: https://community.oracle.com/people/enicholas/blog/2006/05/04/understanding-weak-r ...
- 深入探索ScrollWindow
最近做WIN32 API开发时发现对ScrollWindow的一些工作原理并不是太清楚,于是做了相关研究,记载下来和大家共同学习. 首先在WM_CREATE中获取系统字符的宽度和高度 case WM_ ...
- Java实现Qt的SIGNAL-SLOT机制(保存到Map中,从而将它们关联起来,收到信号进行解析,最后反射调用)
SIGNAL-SLOT是Qt的一大特色,使用起来十分方便.在传统的AWT和Swing编程中,我们都是为要在 监听的对象上添加Listener监听器.被监听对象中保存有Listener的列表,当相关事件 ...
- ubuntu 14.04搭建tensorflow-gpu开发环境
一.安装nvidia显卡驱动 去navidia官网查看最新的驱动版本号:navidia官网:http://www.geforce.cn/drivers 找到显卡对应的驱动下载,例如下载的驱动为 NVI ...
- Win32小游戏--蜘蛛纸牌
前一段时间完成了蜘蛛纸牌的仿写,现将过程和思路记录下来 首先,为了符合复用性,在win32的基本框架中,把可变的部分用c++封装起来成为一系列虚函数,这样如果再继续写游戏的话,只需要继承这个类就可以了 ...