我使用一个按钮和一个列表视图来显示选项的列表给用户。选择是通过鼠标点击完成的,listview从。controls数组中移除它自己+取消注册eventlistener并在屏幕上加载一个新的listview else。
我的问题是两个listviews触发e.s 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。
我没有人可以求助,所以如果你能提供任何帮助,我将不胜感激。
谢谢;山姆
如果其他人有相同的问题,则更新。选择列表视图项会将其从控件数组中移除。删除listview还会导致所选项被取消选中,因此需要调用4个处理程序。