我正在使用按钮和列表视图来向用户显示选项列表。通过鼠标单击进行选择,listview将从.Controls数组+取消注册eventlistener中删除其自身,并在屏幕上的其他位置加载新的listview。
我的问题是两个列表视图触发e.selected两次:
' private void _lvKids_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
if (e.IsSelected)//fires twice per click
{
HideKidsList();//--REMOVE CURRENT LISTVIEW
ValidateUser();//CREATE NEW LISTVIEW
}`
如果再次单击该按钮以重新启动该过程,则会导致win32异常。经过大量研究,这个例外通常是内存泄漏的原因。所以我在想内存泄漏?
当我刚开始使用时,使用了完美无缺的列表框。我喜欢能够使用它们,但我的表单有一个背景图形,而列表框却没有。 Listview确实。
我没有任何人可以转向,所以你能提供的任何东西都会受到赞赏。
感谢; 萨姆
答案 0 :(得分:0)
如果其他人有同样的问题,请进行更新。选择要从Controls数组中删除的listview项。删除列表视图还会导致取消选择所选项目,从而调用4个处理程序。