c# winform 中如何写事件监听 比如监听listview.items.count是不是发生变化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# winform 中如何写事件监听 比如监听listview.items.count是不是发生变化相关的知识,希望对你有一定的参考价值。
listview.ItemChanging+=ListviewItemChanging; //(这是一个 函数名 在这个函数中,你可以拦截 即将对 ListView 组的修改)listview.ItemChanged+=ListviewItemChanged; //(这是一个 函数名 在这个函数中,你可以处理当 ListView 的组发生改变之后需要做的事情:比方说,重新统计某些变量)追问
怎么拦截?我的意思是比如我对listview插入或者删除一条数据时,会自动触发我自定义的事件,执行事件里面的代码。就像点击一个button后会执行button_click事件中的代码一样。我现在是写了事件,但是进行插入或者删除时,我定义的事件里的代码并没有执行。
追答选中 ListView ,在左边的 “属性” 框中找 ItemChanging ItemChanged 事件, 双击这两个事件,就会 有 这两个事件的 函数体;
在这两个函数体中写代码;
ItemChanging 中理论上应该有 个参数 e
e.Cancel =true; 插入 或者 删除操作就会被中止!
_____________________________________________________
我找到了ItemChanging事件,并在方法里写了MessageBox.Show("succeed");但是对listview插入数据的时候,并没有执行。那个e.Cancel点不出来,我写e.后面只出来Equals,GetHashCode,GetType,GetToString,
追答那就是 试试 CollectionChanged 和 CollectionChanging 事件:ItemChanged 和 ItemChanging 事件,我自己都没有找出来;
不是给你发了一个截图的么?
只有 Changing 事件才有 e.Cancel
以上是关于c# winform 中如何写事件监听 比如监听listview.items.count是不是发生变化的主要内容,如果未能解决你的问题,请参考以下文章
WINFORM中用DSOFramer打开word,如何监听Ctrl+P按键事件?