开发者

ListViewItem ItemSelectionChangedEvent Fires 4 times [e.Selected fires twice] leads to Win32 Exception Unhandled

开发者 https://www.devze.com 2023-03-18 01:58 出处:网络
I am using a button and a listview to display a list of options to the user. Selection is made with a mouse click, the listview removes its self from the .Controls array + un-registers eventlistener a

I am using a button and a listview to display a list of options to the user. Selection is made with a mouse click, the listview removes its self from the .Controls array + un-registers eventlistener and loads a new listview else where on the screen.

My problem is both listviews trigger e.selected twice:

' private void _lvKids_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
    {
        if (e.IsSelected)//fires twice per click
        {
            HideKidsList();//--REMOVE CURRENT LISTVIEW
            ValidateUser();//CREATE NEW LISTVIEW
        }`

If the button is clicked a second time to res开发者_如何学运维tart the process, it causes a win32 Exception. After much research, this exception is the often the cause of a memory leak. So I'm thinking memory leak?

When I first started, listboxes were used which worked perfectly. I'd love to able to use them, but my form has a graphic for a background and listbox doesn't. Listview does.

I don't have anyone to turn to so any thing you can offer would be appreciated.

Thanks; Sam


An update if anyone else has the same issue. Selecting the listview item called for it to be removed from Controls array. Removing the listview also cause the selected item to be deselected, thus 4 calls to the handler.

0

精彩评论

暂无评论...
验证码 换一张
取 消