2011-07-07 1 views
0

ボタンとリストビューを使用して、ユーザーにオプションのリストを表示しています。選択がマウスクリックで行われると、listviewは.Controls配列+ unregisters eventlistenerから自己を削除し、画面上で新しいlistviewをロードします。ボタンは、プロセスを再起動する2番目の時間をクリックするとListViewItem ItemSelectionChangedEvent発生回数4回[e.Selected fires twice]がWin32 Exceptionにつながる未処理

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

場合、それはWin32の例外が発生します。

私の問題は、両方のリストビューがe.selected二回トリガです。多くの研究の後、この例外はしばしばメモリリークの原因となります。だから私はメモリリークを考えていますか?

私が最初に始めたとき、完全に機能するリストボックスが使用されました。私はそれらを使用できるようにしたいと思いますが、私のフォームは、背景のためのグラフィックを持っており、リストボックスはありません。リストビューは行います。

私は誰もあなたに提供することができますので、感謝することができます誰にも向いていません。

ありがとうございます。 サム

答えて

0

誰かが同じ問題を抱えている場合は更新します。 Controls配列から削除するために呼び出されたリストビュー項目を選択します。リストビューを削除すると、選択した項目の選択が解除され、ハンドラが4回呼び出されます。

関連する問題