基本介绍

项列表控件,拥有五种不同视图的样式供展示项集合。

常设置属性

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】的更多相关文章

  1. C# winform控件之listview学习积累

    //1.用key给ListViewItem 的 SubItems赋值 ListViewItem listViewItem= listView1.Items.Add("第一列文字") ...

  2. winform利用ImageList控件和ListView控件组合制作图片文件浏览器

    winform利用ImageList控件和ListView控件组合制作图片文件浏览器,见图,比较简单,实现LISTVIEW显示文件夹图片功能. 1.选择文件夹功能代码: folderBrowserDi ...

  3. WinForm控件使用文章收藏整理完成

    对C# WinForm开发系列收集的控件使用方面进行整理, 加入了一些文章, 不断补充充实, 完善这方面. 基础 - 常用控件 C# WinForm开发系列 - CheckBox/Button/Lab ...

  4. C#中常见的winform控件命名规范

    我们知道Button 常常简称为btn,那么Winform中的其它控件呢,这篇文章在C#的winform控件命名规范 的基础上对一些控件的名称的简称进行了整理. 1. 标准控件 NO. 控件类型简写 ...

  5. C# WinForm控件、自定义控件整理(大全)

    转:http://www.cnblogs.com/top5/archive/2010/04/29/1724039.html 对C# WinForm开发系列收集的控件使用方面进行整理, 加入了一些文章, ...

  6. C#中常见的winform控件命名规范 转

    我们知道Button 常常简称为btn,那么Winform中的其它控件呢,这篇文章在C#的winform控件命名规范 的基础上对一些控件的名称的简称进行了整理. 1. 标准控件 NO. 控件类型简写 ...

  7. 在WPF中使用WinForm控件方法

    1.      首先添加对如下两个dll文件的引用:WindowsFormsIntegration.dll,System.Windows.Forms.dll. 2.      在要使用WinForm控 ...

  8. WPF 调用WinForm控件

    WPF可以使用WindowsFormsHost控件做为容器去显示WinForm控件,类似的用法网上到处都是,就是拖一个WindowsFormsHost控件winHost1到WPF页面上,让后设置win ...

  9. WinForm控件TreeView 只部分节点显示 CheckBox

    WinForm控件TreeView 只部分节点显示  CheckBox 用过asp.net的应该知道,要在treeview中实现上述功能可以使用ShowCheckBox 属性指定那些节点显示check ...

  10. Winform控件重写

    Winform控件重写 因为最近的项目中越来越多的遇到了比较特殊的一些控件,有时候我们自己封装一下可能更加方便我们的使用,下面是我们项目中用到的,简单做一个记录. TextBox控件重写 主要的控制代 ...

随机推荐

  1. Android零基础入门第6节:配置优化SDK Manager,正式约会女神

    原文:Android零基础入门第6节:配置优化SDK Manager,正式约会女神 在前几期中总结分享了Android的前世今生.Android 系统架构和应用组件那些事.带你一起来聊一聊Androi ...

  2. 关于CEdit控件的透明(重绘)

    摘自:http://www.jcwcn.com/html/VC/10_19_51_12.htm 做一个透明的Edit控件的主要问题是字符的输出,在Edit里输出的刷新有几个时机,一个是在接收到键盘或鼠 ...

  3. qt 心跳设计

    网络通信中的心跳设计是为了判断客户端和服务器通信是socket是否处于连接状态,服务端每隔一个固定的时间间隔给客户端放消息,客户端设计一个心跳类,类中有一个定时器,当socket接收到信息时,心跳类记 ...

  4. QtStaticBuildScript(会有这么容易)

    https://github.com/dankrusi/QtStaticBuildScript

  5. Qt中使用QSqlDatabase::removeDatabase()的正确方法 good

    如果你用过Qt的QSqlDatabase的话,多半会对下面的警告信息感兴趣: QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_defau ...

  6. asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发1-准备工作

    /****** Object: 新闻表 Script Date: 2017/9/2 星期六 15:11:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENT ...

  7. Tido c++线段树知识讲解(转载)

    线段树知识讲解 定义.建树.单点修改.区间查询         特别声明:如上的讲解说的是区间最大值 如果想要查询区间和 只需要改变一下建树和查询的代码就行了,如下 其他根据自己的需要进行修改即可

  8. 办公利器-一行代码搞定http服务

    平时给内网的同事分享个文件,直接用python启动一个http服务,方便又简洁: python3: python -m http.server [port] 默认端口为8000 python2: py ...

  9. 从0到1构建网易云信IM私有化

    本文来源于MOT技术管理课堂杭州站演讲实录,全文 2410 字,阅读约需 5分钟.网易云信资深研发工程师张翱从私有化面临的问题及需求说起,分享了网易云信IM私有化的解决方案和具体实践. 想要阅读更多技 ...

  10. Spark学习之路(三)—— 弹性式数据集RDDs

    弹性式数据集RDDs 一.RDD简介 RDD全称为Resilient Distributed Datasets,是Spark最基本的数据抽象,它是只读的.分区记录的集合,支持并行操作,可以由外部数据集 ...