掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB.NET-ツリービュー上でのドラッグANDドロップでDropHighlightしたい。 (ID:109633)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
デバッグしてみたのですが、いまいちわからないので、 もう少し教えてください。すみません。 >は不要でした。Drag元はまずSelectedになると私は勘違い >していたので(=HighlightColorと区別がつかない)、この >1行を入れましたが、そうとは限らないので意味のない1行 >です。選択がリセットされるなら、これが怪しいでしょう。 そのとおりでした。 > 1回目にリストービューからツリービューへドラッグすると、 > マウスカーソルが丸に×の表示で、少しツリービュー上でド > ラッグしていると、ドロップできるようになります。なぜでしょうか? > これは再現しなかったのですが??? (on VS2002(fw1.0-SP2)) 「マウスカーソルが丸に×」になるということは、 丸に斜め線でした。 これについては、以下のコードを追加することにより、一応解消されました。 Private Sub ListView1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListView1.DragEnter ' Check to be sure that the drag content is the correct type for this ' control. If not, reject the drop. 'If (e.Data.GetDataPresent("System.Windows.Forms.listviewitem")) Then ' If the Ctrl key was pressed during the drag operation then perform ' a Copy. If not, perform a Move. If (e.KeyState And CtrlMask) = CtrlMask Then e.Effect = DragDropEffects.Copy Else e.Effect = DragDropEffects.Move End If 'Else ' e.Effect = DragDropEffects.None 'End If End Sub >よって、DragOverが走る前に、まずTreeView1_ItemDrag >が走っているはずだという前提があります。 >ListViewからも持ってくるとなると、 >.GetDataPresent("System.Windows.Forms.ListViewItem") >とするだけではなく、他にも色々と考えるべき点が >出てくることになります。 このへんの説明がだいぶひっかかるのですが、 TreeView上でのドラッグは、正常にできるということは、 ListviewからTreeviewへドラッグすると、 TreeView1_DragOverイベントは、起きるみたいなのですが、数秒後のタイムラグのあと動き始めるみたいです。当初は、nodeHover=nothingなのですが、数秒後たった後、いきなり表示され始める。 一度でも動き出すと次からは、正常に動いているみたいです。 どうしてよいか今のままですとわからない状態です。 やはり、TreeView1_ItemDragを走らせる何かをしないとだめなのでしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.