• 締切済み

ツリービューでクリック時にアイコンを変化させる方法

ツリービューでノードの複数選択ができないので 選択されたノードのアイコンの切替を行い 複数選択されたように見せかけるという処理を行っています。 しかし、 ノードをクリックされた時のみ変更されればよかったのですが、 ダブルクリックでノードを開いた場合、クリック時のイベントが発生し アイコンが一瞬変更されてしまいます。 今ではクリックされてから一定時間以内にダブルクリックのイベント が発生しなかった場合のみアイコンを変更していますが、 その場合変更されるまでの反応が遅くなってしまいます。 クリックした時のみアイコンを変更される よい処理法があったらお教え下さい 宜しくお願いします。

みんなの回答

  • kazne
  • ベストアンサー率66% (8/12)
回答No.1

難しい質問ですね・・・ ダブルクリックとは、必ず一回クリックしてるわけですから、クリックイベントは確実に走ります。 その後にダブルクリックだったと分った場合、それを元に戻せばいいって事ですね。 たとえば、変数を用意して、フラグ管理を行うってのはどうでしょうか。 あと、アイコンでわざわざそういう処理を行うぐらいなら、 ツリービューはチェックボックスが使えるので、.CheckBoxes = True にしておいて、各ノードの.Checkedプロパティで判定したほうが 楽かと思いますよ。