C#winform中ListView及ContextMenuStrip的使用
1.新建一个Windows窗体应用程序

2.添加文件夹及图片资源
文件夹图片
(folder.png),文件图片
(file.png)

3.在设计模式下添加控件

即:1个ListView(lvwData)、2个ImageList(imgLarge,imgSmall),1个ContextMenuStrip(cmsStyle),如下所示:

4.设置各控件详细属性
2个ImageList(imgLarge,imgSmall)添加Images、设置ImageSize(imgLarge--32*32, imgSmall--16*16),如下:


ContextMenuStrip(cmsStyle)添加Items,如下:

ListView(lvwData)要添加Items、Columns,绑定ContextMenuStrip(cmsStyle)、LargeImageList及SmallImageList




界面设计完成后,锁定所有控件,这是个好习惯~~

5.为ContextMenuStrip(cmsStyle)的每个子项添加事件处理逻辑
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; namespace Controls
{
public partial class MainForm : Form
{
/// <summary>
/// 默认构造函数
/// </summary>
public MainForm()
{
InitializeComponent(); this.大图标ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
this.详细信息ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
this.平铺ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
this.小图标ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
this.列表ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
} #region 鼠标右键勾选事件处理
/// <summary>
/// 设定右键菜单勾选项,设置ListView列表显示样式
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
ToolStripMenuItem tsMenumItem = sender as ToolStripMenuItem;
if (tsMenumItem.Checked)
{
return;//已经选中则返回
}
else
{
//清除勾选的右键菜单项
ClearCheckState(cmsStyle);
//勾选鼠标选中的右键菜单项
tsMenumItem.Checked = true;
}
//设置ListView列表显示样式
SetDisplayStyle(tsMenumItem.Text);
} /// <summary>
/// 清除勾选的右键菜单项
/// </summary>
/// <param name="cms">右键菜单</param>
private void ClearCheckState(ContextMenuStrip cms)
{
ToolStripMenuItem tsMenumItemTemp;
for (int i = ; i < cms.Items.Count; i++)
{
if (!(cms.Items[i] is ToolStripMenuItem))
{
continue;
}
tsMenumItemTemp = cms.Items[i] as ToolStripMenuItem;
if (tsMenumItemTemp.Checked)
{
tsMenumItemTemp.Checked = false;
}
}
} /// <summary>
/// 设置ListView列表显示样式
/// </summary>
/// <param name="name"></param>
private void SetDisplayStyle(string name)
{
foreach (ListViewItem lvi in listData.Items)
{
if (name == "详细信息")
{
lvi.ImageIndex = ;
}
else
{
lvi.ImageIndex = ;
}
}
switch (name)
{
case "大图标":
listData.View = View.LargeIcon;
break;
case "详细信息":
listData.View = View.Details;
break;
case "小图标":
listData.View = View.SmallIcon;
break;
case "列表":
listData.View = View.List;
break;
case "平铺":
listData.View = View.Tile;
break;
}
}
#endregion
}
}
6.运行效果如下所示:




C#winform中ListView及ContextMenuStrip的使用的更多相关文章
- C#winform中ListView的使用
使用ListView模仿Windows系统的资源管理器界面,实现文件(夹)的浏览.重命名.删除及查询等功能,主要功能界面展示如下: 1.MainForm.cs及MainForm.Designer.cs ...
- Winform中怎样设置ContextMenuStrip右键菜单的选项ToolStripMenuItem添加照片
场景 怎样在Winform程序中添加鼠标右键时使子选项显示图片. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序猿 获取编程 ...
- 【2017-04--28】Winform中ListView控件
ListView 1.先设置列,设置视图属性选择Details. 添加列,修改列名. 2.编辑项(添加行数据) 添加一个ListViewItem对象,该对象的Text对应着是第一列的数据, 在该对象的 ...
- C# winform中listview排序
本文解决方案是采用下面链接中的解决方案.十分感谢这篇文章的作者bright:http://blog.163.com/shensc@126/blog/static/1312896522010614103 ...
- Winform中ListView鼠标移动使用toolTip显示信息
今天在做一个酒店管理系统的时候用到了ListView,突然想到是否能够当鼠标移动到某一项的时候给出具体房间的信息呢! 首先设置Listview的MouseMove事件 1.获取当前坐标的项 ListV ...
- C# winform中ListView用法
this.listView1.GridLines = true; //显示表格线 this.listView1.View = View.Details;//显示表格细节 this.listView1. ...
- winform中listview imagelist问题
参考:http://www.it165.net/pro/html/201410/23603.html 关于imagelist失真问题: 1.颜色 将ColorDepth属性设置成Depth32Bit ...
- WinForm中ListView的使用
每一行是一个ListViewItem对象,每一项是一个ListViewSubItem对象 样式 整行选择:this.lvDataSourceSearchHistory.FullRowSelect = ...
- 20150226—C# winform中的ListView解析
ListView在WinForm中多用于表的构建,可以直观的显示表的信息,其格式如同SQL的表 这是他的位置,在公共控件中: Listview的几个重要属性:Columms(集合).Groups(集合 ...
随机推荐
- Spring MVC笔记 使用JdbcTemplate
Spring提供了 JdbcTemplate 来封装数据库jdbc操作细节, 包括: 数据库连接[打开/关闭] ,异常转义 ,SQL执行 ,查询结果的转换, 其中体现了 模板模式 的设计模式思想. 使 ...
- Linux下如何设置和查看环境变量
Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1 永久的:需要修改配置文件,变量永久生效. 2 临时的:使用export命令声明即可,变量在关闭shell时失效. 按作用范 ...
- C#开发微信公众平台-就这么简单(附Demo)(转载)
转载地址:http://www.cnblogs.com/xishuai/p/3625859.html 写在前面 服务号和订阅号 URL配置 创建菜单 查询.删除菜单 接受消息 发送消息(图文.菜单事件 ...
- mysql导入出现MySQL Error 1153 - Got a packet bigger than 'max_allowed_packet' bytes
解决办法: 就搞定了.
- php动态安装mongo扩展
首先下载mongo扩展包 http://pecl.php.net/package/mongo 开始安装把 wget http://pecl.php.net/get/mongo-1.5.8.tgz t ...
- active mq 配置延时
修改activemq.xml 在<broker>里添加属性schedulerSupport="true" 参考:http://blog.csdn.net/kimmkin ...
- 013_VM+WinDbg安装
预计平均三天一课,录制过程中,大纲会实时更新(更改) 主讲:郁金香灬老师 QQ150330575 开发环境:VC6,VS2003,VS2008 www.yjxsoft.net www.yjxsoft ...
- 【HTML5】Application Cache应用程序缓存
HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. 应用程序缓存为应用带来三个优势: 离线浏览 - 用户可在应用离线时使用它们 速度 - 已缓存资源加载 ...
- 【spring 配置文件】spring配置文件的解析
一.总体结构 二.详解 1.spring <alias >标签 在对bean进行定义时,除了使用id属性来指定名称之外,为了提供多个名称,可以使用alias标签来指定.而所有的这些名称都指 ...
- WPF/Silverlight Template使用及总结(转)
WPF/Silverlight 中的控件都有Style和Template两种属性.前者解释为样式,是用来改变控件原有属性的,比如 Button 控件的(Width,Height,Background ...