2011-07-07 45 views
0

我正在使用按鈕和列表視圖向用戶顯示選項列表。用鼠標點擊進行選擇,listview從.Controls數組中刪除它的自我+取消註冊eventlistener,並在屏幕上的任何位置加載一個新的listview。ListViewItem ItemSelectionChangedEvent觸發4次[e.Selected觸發兩次]導致Win32異常未處理

我的問題是這兩個列表視圖,觸發器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

更新,如果任何人有同樣的問題。選擇要從Controls數組中刪除的列表視圖項。刪除列表視圖也會導致選定的項目被取消選擇,從而對處理程序進行4次調用。