TreeListNodeを利用して、ツリー上のノードをドラッグ&ドロップで移動させる

DevExpress.XtraTreeList.Nodes.TreeListNodeを利用して、ツリー上のノードをドラッグ&ドロップで移動させる。

1.ドラッグ&ドロップの有効化

ツリー上のノードをドラッグ&ドロップを有効にするには、以下のプロパティを有効にする必要がある。

2.イベントの追加

ドラッグ&ドロップ時のイベントを追加するため、DragOver,DragDrop
のイベントを追加する。
DragOverはドラッグ中、DragDropドラッグにそれぞれイベントが発生する。

3.ドラッグ中のイベント処理

ドラッグ中のイベント処理では、ノードの移動可否を判定する。
ドラッグ後のノード移動先には以下の種類がある。

ドラッグしたノードを、対象ノードの配下に移動させる場合
ドラッグしたノードを、対象ノードの後に移動させる場合
ドラッグしたノードを、対象の前に移動させる場合

例えば、以下のようにグループ配下に、ノードを置きたい場合は、以下のようにDragDropEffects.Moveを設定する。

一方、グループ配下に、ノードを置きくない場合は、以下のようにDragDropEffects.Noneを設定する。

4.ドラッグ後のイベント処理

ドラッグ後のイベント処理では、ターゲットノードとドラッグされたノードを利用して、後処理を行う。

Print Friendly, PDF & Email

シェアする

  • このエントリーをはてなブックマークに追加

フォローする