0

ドロップ ターゲットの場所でハイライト (アイコンを表示) したいと思います。ドロップ先の場所のプレビューを表示するために、ターゲット ノードの上または下にアイコンを表示するサード パーティ製のコントロールに似たものです。

サンプルのスクリーンショットが添付されており、ターゲット ノードの下に線が表示されています。

winformツリービューでそれを行う方法の例やアイデアはありますか?

4

1 に答える 1

0

探していたものを正確に見つけることができませんでした。ターゲットノードの上または下にアイコンを表示できなかったことを意味しますが、次のソリューションを使用して、ユーザーがターゲットノードの上または下にノードを追加できるようにしました。

ツリービュー ドロップ イベントは、ドロップがターゲット ノードのイメージまたはテキスト部分にあったかどうかの情報を提供します。これを使用して、ドロップされたノードを上または下に追加するかどうかを決定できます。

Dim hTest As TreeViewHitTestInfo
Private Sub TreeView1_DragOver(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView1.DragOver

     Dim pt As Point = CType(sender, TreeView).PointToClient(New Point(e.X, e.Y))
     hTest = TreeView1.HitTest(pt)

End Sub

Private Sub TreeView1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView1.DragDrop

    If hTest IsNot Nothing AndAlso hTest.Location = TreeViewHitTestLocations.Image Then
    'Add Above
    Else
    'Add Below
    End If

End Sub
于 2012-12-31T08:32:14.357 に答える