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

参考技术A 没有听懂你的意思,如果就像看看每时每刻有没有变化,就可以用Timer组件来实现就可以了。

以上是关于c# winform 中如何写事件监听 比如监听listview.items.count是不是发生变化的主要内容,如果未能解决你的问题,请参考以下文章

WINFORM中用DSOFramer打开word,如何监听Ctrl+P按键事件?

winform 添加鼠标移动监听

winform 中的方法如何监听 App_Code 中的事件/委托,而不是获取空事件?

C# winform 程序 如果实现监听数据库的某张表

如何在Angular项目里监听页面关闭、跳转事件?

c#如何监听复制(剪切)事件