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控件重写 主要的控制代 ...
随机推荐
- PySide——Python图形化界面入门教程(二)
PySide——Python图形化界面入门教程(二) ——交互Widget和布局容器 ——Interactive Widgets and Layout Containers 翻译自:http://py ...
- SQLServer 远程服务器不存在,未被指定为有效的发布服务器,或您无权查看可用的发布服务器
原文:SQLServer 远程服务器不存在,未被指定为有效的发布服务器,或您无权查看可用的发布服务器 创建了事务发布,在初始化时出现错误,查看相关代理信息如下: 日志读取器代理错误: 状态: 0,代码 ...
- GIS基础软件及操作(九)
原文 GIS基础软件及操作(九) 练习九.水文分析 水文分析:根据DEM提取河流网络,计算流水累积量.流向.根据指定的流域面积大小自动划分流域 水文分分析工具 (1)通过Arctoolbox:水文分析 ...
- 使用Visual Studio Code创建第一个ASP.NET Core应用程序
全文翻译自:Your First ASP.NET Core Application on a Mac Using Visual Studio Code 这篇文章将向你展示如何在Mac上写出你的第一个A ...
- QT字符编码转换,可用于中文内码传输
串口.TCP.UDP传输中文字符时,先将字符串转内码.客户端接收到数据后,将内码转为字符串就OK了 QByteArray CommonFunction::strToInterCode(constQSt ...
- 用C实现OOP面向对象编程(1)
如摘要所说,C语言不支持OOP(面向对象的编程).并这不意味着我们就不能对C进行面向对象的开发,只是过程要复杂许多.原来以C++的许多工作,在C语言中需我们手动去完成. 博主将与大家一起研究一下如下用 ...
- 浅析 C++ 调用 Python 模块
浅析 C++ 调用 Python 模块 作为一种胶水语言,Python 能够很容易地调用 C . C++ 等语言,也能够通过其他语言调用 Python 的模块. Python 提供了 C++ 库,使得 ...
- 把滚动箱的样式做如下调整来模拟 TPanel
程序中用 TPanel 做了容器, 需要给它一个背景图片; 发现这竟是个难题! 发现我经常使用的滚动箱控件 TScrollBox, 是一个很好的替代品. 本例需要先添加两个图片资源, 添加方法可以参考 ...
- LOG4NET图文教程
LOG4NET教程 一:简介 从操作系统到大多数的大型软件,都会有自己的程序运行时的日志跟踪API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而软件开发人员需要一套强大的日志系统来记 ...
- 今天想安装 windowsl ive 提示安装失败 错误码
Windows Live installation error: OnCatalogResult: 0x80072ee6 看了了这个老兄的回答,试了试,果然OK,谢谢@普洛提亚从这里下载安装包,然后安 ...