- 題名: ListViewの選択関連のイベント
- 日時: 2014/05/07 17:47:44
- ID: 32345
- この記事の返信元:
- (なし)
- この記事への返信:
- [32355] Re[1]: ListViewの選択関連のイベント2014/05/12 10:40:53
- ツリーを表示
■No32345に返信(コウさんの記事) VB.NETですがIdleを使ったサンプルです。 Private Sub ListView1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ListView1.SelectedIndexChanged If ListView1.SelectedItems.Count = 0 Then AddHandler Application.Idle, AddressOf CheckUnSelect Else ListBox1.Items.Add(String.Format("{0}", ListView1.SelectedItems(0).Text)) End If End Sub Private Sub CheckUnSelect(sender As Object, e As EventArgs) RemoveHandler Application.Idle, AddressOf CheckUnSelect If ListView1.SelectedItems.Count = 0 Then ListBox1.Items.Add("UnSelect") End If End Sub
分類:[.NET]
ListViewで複数行選択なしで実装していて項目を選択した場合、
編集用のGroupコンテナを有効にして編集するという実装をしています。
項目選択なしの場合、Groupコンテナを無効にしたいので、
SelectedIndexChangedイベントで選択状態を見て処理を分けて実装したのですが、
項目を選択するたびに、
元の選択を解除⇒次の項目を選択
の2回のイベントが起こりGroupコンテナがチラつきます。
元の選択を解除時を判別してスルー出来ればいいのですが、
選択解除なのか別の項目を選択中のイベントか判別方法が分かりませんでした。
ListViewの選択関連のイベントで選択を切り替えたときには変更のみが検出でき、変更の解除の場合も検出できるような方法は他に何かありますでしょうか?