- - PR -
TreeViewでのシングルクリックについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-02-20 13:32
いつも参考にさせていただいてます。
TreeViewでのシングルクリックについての質問です。 TreeView上でノードをダブルクリックすることにより子ノードの 展開ができると思いますが、それをシングルクリックで行いたいと思っています。 ClickイベントをひろってExpand()をコールすることにより 一応できるのですが、以下のような問題が発生してしまいました。 ・子ノードが展開されている時にノードの前にある マイナスボタンをクリックしても折りたためない。 原因は、マイナスボタンをクリックしたときに折りたたんで その後、Clickイベントの処理でまた展開してしまうからです。 原因はわかるのですが、対処をどうしたらいいかわかりません。 マイナスボタンをクリックしたときは通常と同じく子ノードを 折りたたみたいと思っています。 マイナスボタンをクリックしたときだけExpand()をコールしないように したいのですが、そのようなことは可能でしょうか? 環境は以下のとおりです。 ・VB.NET2003 ・Windowsアプリケーション 以上、よろしくお願いします。 | ||||||||
|
投稿日時: 2006-02-20 13:37
諸農です。
試していませんが、IsExpandedプロパティで判定してみるとかはどうでしょうか。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||
|
投稿日時: 2006-02-20 13:59
諸農です。
この現象以外にも、展開するノードの特定をSelectNodeでやってしまうと、 クリック前のノードを対象に展開してしまうと言った変な現象が起こりませんか? AfterSelectイベントでこんな感じでやってみました(C#)。
折りたたみの後に選択ノードを解除しています。 理由は、選択状態のまま-記号で折りたたまれたときに、 そのノードをクリックされてもAfterSelectイベントが 発生しないからです。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||
|
投稿日時: 2006-02-20 14:19
諸農さん、返信ありがとございます。
そうですね。 これについてはマウスの座標からノードを特定することにより回避できました。
ありがとうございます!うまくいきました! Clickイベントにこだわっていたので他のイベントを使用する方法を 全く思いつきませんでした。 とても勉強になりました。 |
1