基本介绍

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

常设置属性

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. Resolve conflict using "MERGE_HEAD (origin/HEAD)"

    Git进行同步的时候,经常会出现冲突,有时候冲突的选项会有图示中的三种选项: 1.Resolved:直接把文件标识为冲突已经解决,一般是自己手动查看并解决完冲突以后使用. 2.Resolve conf ...

  2. winform子容器随父容器的变化设置

    在设计winform窗体时,因为会很少去调整窗体的大小,这时子控件就会出很尴尬的情况, 通过查看空间的属性,发现有这样两个属性,dock和anchor.这里主要说anchor,官方 解释没太看懂,我的 ...

  3. 在Windows IoT上生成和识别二维码

    在Windows IoT生成和识别二维码,实际上由于是UWP上实现,所以,理论上,这些生成和识别二维码的方法也可以在其它平台上运行. 关于二维码的生成有很多库可以实现,比如QRCoder,这个库可以在 ...

  4. QT 线程池 + TCP 小试(三)实现最终功能

    *免分资源链接点击打开链接http://download.csdn.net/detail/goldenhawking/4492378 有了TCP.线程池,我们就可以把他们连接起来.使用最简单的 QMa ...

  5. Indy9的TIdFTPServer封装类

    在Delphi 7开发下有强大的Indy控件,版本为9,要实现一个FTP服务器,参考自带的例子,发现还要写很多函数,而且不支持中文显示文件列表等等.于是,自己改进封装了下,形成一个TFTPServer ...

  6. C++中的new,operator new与placement new

    以下是C++中的new,operator new与placement new进行了详细的说明介绍,需要的朋友可以过来参考下     new operator/delete operator就是new和 ...

  7. .NET Core 微服务之Polly熔断策略

    紧接着上一篇说,咱们继续介绍Polly这个类库 熔断策略(Circuit-breaker) 如果调用某个目标服务出现过多超时.异常等情况,可以采取一定时间内熔断该服务的调用,熔断期间的请求将不再继续调 ...

  8. 3012C语言_数据

    第二章 数据 2.1 数据类型 2.1.1 数据类型决定 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作 2.2基本数据类型 2.2.1分类 基本类型 类型 符号 关键字 字节 1 ...

  9. Centos 7上安装Python3.x(单版本)

    Centos7默认安装的是2.7,这里选择安装使用Python3.6.3 安装Python3.6.3 1.安装python3 需要的依赖包 yum install -y openssl-devel b ...

  10. CrossOver for Mac v18.5 中文破解版下载-可以安装Windows软件

    CrossOver for Mac v18.5 中文破解版: http://h5ip.cn/kADD Crossover Mac 破解版是Mac 和 Windows 系统之间的兼容工具.使 Mac 操 ...