- - PR -
TreeViewのドラッグ アンド ドロップについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-08-26 20:01
こんばんは。
System.Windows.Forms.TreeViewクラスについて質問があります。 同一のTreeView内でTreeNode間のドラッグ アンド ドロップ機能の 実装を目指しています。 (エクスプローラのフォルダビューみたいに) ドラッグ アンド ドロップ機能は実現できているのですが、 ドラッグ操作が行われている間に、 TreeNodeの上にカーソルが来たらTreeNodeを展開したり、 TreeNodeが表示されるようにスクロールさせたりしたいのです。 (これまたエクスプローラみたいに) ヘルプを調べると、 QueryContinueDragイベントを使用すればいいような感じですが、 このイベントをTreeViewに設定しても、 ドラッグ操作中にこのイベントが発生していないようなんです。 どなたか対処方法をご存知の方、ご教示お願いします。 [ メッセージ編集済み 編集者: sou 編集日時 2003-08-26 22:16 ] | ||||
|
投稿日時: 2003-08-27 00:05
DragOverイベントを使えば良いのではないでしょうか? イベント自体は定期的に呼ばれるのでカウンタでも用意して小細工すれば、 ちょっと待ってからツリーを展開させるとか出来そうです。 スクロールは下方向は勝手にやってくれますが、 上方向はコーディングが必要だと思います。 #EnsureVisibleあたりでなんとかなりそうですが・・・ | ||||
|
投稿日時: 2003-08-27 20:42
meiさんありがとうございます。
DragOverイベントを処理して実現できました。 ツリーの展開はTimer クラスを使用して実現できました。 スクロールはマウスがTreeViewから外れた場合に、 PrevVisibleNodeとNextVisibleNodeを取得して、 EnsureVisibleメソッドで表示させました。 |
1