c#如何为listview的item创建单击事件

c#如何为listview的item创建单击事件,第1张

其实很简单,就是为了方便管理 各个村的相关数据Excel。因为是4个人先后录入的没有协调好,导致每个人一种格式,管理混乱。所以索性直接写了个小程序,好管理,也方便领导查阅。程序还没有完成处理好,里面的方法不一定是最正确的,请慎重参阅。
开发环境是VS2010,解决方案需要2010打开,原所有的Excel没有拷贝
百度网盘:
当向ListView 添加 item的时候。如果采用循环的方式。比如:
会导致 ListView 频繁更新页面导致闪屏一样的效果。那么这个时候就要使用 ListView的 虚拟模式,也就是 VirtualMode
先说一下 :VirtualMode 的原理。引用 MSDN
将 VirtualMode 属性设置为 true 会将 ListView 置于虚拟模式。在虚拟模式下,不使用普通 Items 集合。而是在 ListView 需要 ListViewItem 对象时动态创建这些对象。
虚拟模式许多情况下都很有用。如果必须从已存在于内存中的非常大的集合填充一个 ListView 对象,则为每项创建一个 ListViewItem 对象会很浪费。在虚拟模式下,仅创建所需的项。在其他情况下,可能需要经常重新计算 ListViewItem 对象的值,对整个集合进行此 *** 作将产生不可接受的性能。在虚拟模式下,仅计算所需的项。
为了使用虚拟模式,必须处理 RetrieveVirtualItem 事件,每当 ListView 需要项时都会引发该事件。此事件处理程序应创建属于指定索引处的 ListViewItem 对象。此外,必须将VirtualListSize 属性设置为虚拟列表的大小。
其实是过程就是 : 比如 Coll 是一个 存放对象的数列 比如List 现在要把Coll中的对象填充到ListView中。那么可以使用一个 全局的ListemSearch 对象首先复制Coll 对象。然后 在 ListView的
RetrieveVirtualItem 事件中进行赋值(向ListView中添加Item)
emSearch即作为 ListView的缓存器。
如图: 在 RetrieveVirtualItemEventArgs 这个时间对象中 得到当前的填充的索引。
那么 emSearch[eItemIndex] 就得到这个 缓存中的对象。然后 通过 eItem =X 即可将相应的对象的属性进行 listviewItemsAdd *** 作。
注意:要想listView1_RetrieveVirtualItem 自动执行:必须首先 设置 VirtualListSize

listView1VirtualListSize = emSearchCount;
只有设置后,才会自动执行 listView1_RetrieveVirtualItem 里面的方法:
这一步是实现右键菜单的。

比如你在窗体上放了一个ListView,教你一些简单的 *** 作。
listView1ColumnsClear();//清空列记录
ColumnHeader cZh = new ColumnHeader();//创建一个列
cZhText = "英文";//列名
ColumnHeader cCh = new ColumnHeader();
cChText = "中文";
listView1ColumnsAddRange(new ColumnHeader[] { cZh, cCh });//将这两列加入listView1
listView1View = ViewDetails;//列的显示模式
ListViewItem lvi = new ListViewItem(new string[] {“Gog”,"狗" }, -1);//创建列表项
listView1ItemsAdd(lvi);//将项加入listView1列表中
动手试试就理解了。

可以使用ContextMenu或者ContextMenuStrip控件实现这个功能 创建一个ContextMenu控件的实例,在里面添加好菜单项 然后把ListView的ContextMenu属性设置为你创建的控件的名称 各个菜单项的可以在MenuItem_Click事件里编写代码实现相应功能

添加listview控件的方法如下:

打开VB60

按下CTRL+T

添加Microsoft Windows Common Controls 60部件

就会出现listview控件了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10295505.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存