none
TextBoxに入力した 文字からTreeViewへの ドラッグアンドドロップの方法が知りたい RRS feed

  • 質問

  • TreeViewの中に1~3の親があり、 TextBoxに入力した文字をドラッグして、TreeViewの1~3の子にドロップ

    したいのですが やり方がわかりません

    Visual Basic 2008 Express Editionを使用しています

     

    宜しくお願いします

     

     

     

    2008年11月20日 4:22

回答

  •  sakurati さんからの引用

    TreeViewの中に1~3の親があり、 TextBoxに入力した文字をドラッグして、TreeViewの1~3の子にドロップ

    したいのですが やり方がわかりません

    どこまでおわかりですか?または、経験をお持ちですか?

     

    関連するヒントがないかなと思ってみていて、下記の書き込みを見て、大丈夫かな?と感じました。

    べるさん:

    MouseDownでドラッグ開始するから範囲選択できなくなるので不便だと思いますが

    http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=20415&forum=7

     

    イメージ:

    1.TextをDoDragDropする

    2.TreeView側でAllowDropプロパティをtrueにし、DragEnter/DragOver/DragDropイベントでどのNode上にあるかHitTestで判断する。

    3.Node上にあればEffectを変更する。(必要であればGetDataPresentでデータの形式をチェック)

    4.DragDropイベントにて実際にそのノードに新たなノードを追加する。

    2008年11月20日 14:38
    モデレータ
  •  手順だけ書くので、それぞれのコントロールのメンバー一覧から、そうするにふさわしいメンバーを見つけて、実装してください。


    • TreeView が、ドラッグ ドロップを受け入れられるように、設定します
    • テキスト ボックスのドラッグ スタートで、テキストをコピーするように実装します
    • TreeView のドラッグ エンターで、クリップボードの内容を調べて、テキストの時には受け入れるように実装します
    • TreeView のドラッグ エンドで、ドラッグが終了した位置を調べ、その位置にあるアイテムを調べ、そのアイテムの子として、クリップボードの内容を追加するように実装します

    2008年11月21日 10:20

すべての返信

  •  sakurati さんからの引用

    TreeViewの中に1~3の親があり、 TextBoxに入力した文字をドラッグして、TreeViewの1~3の子にドロップ

    したいのですが やり方がわかりません

    どこまでおわかりですか?または、経験をお持ちですか?

     

    関連するヒントがないかなと思ってみていて、下記の書き込みを見て、大丈夫かな?と感じました。

    べるさん:

    MouseDownでドラッグ開始するから範囲選択できなくなるので不便だと思いますが

    http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=20415&forum=7

     

    イメージ:

    1.TextをDoDragDropする

    2.TreeView側でAllowDropプロパティをtrueにし、DragEnter/DragOver/DragDropイベントでどのNode上にあるかHitTestで判断する。

    3.Node上にあればEffectを変更する。(必要であればGetDataPresentでデータの形式をチェック)

    4.DragDropイベントにて実際にそのノードに新たなノードを追加する。

    2008年11月20日 14:38
    モデレータ
  •  手順だけ書くので、それぞれのコントロールのメンバー一覧から、そうするにふさわしいメンバーを見つけて、実装してください。


    • TreeView が、ドラッグ ドロップを受け入れられるように、設定します
    • テキスト ボックスのドラッグ スタートで、テキストをコピーするように実装します
    • TreeView のドラッグ エンターで、クリップボードの内容を調べて、テキストの時には受け入れるように実装します
    • TreeView のドラッグ エンドで、ドラッグが終了した位置を調べ、その位置にあるアイテムを調べ、そのアイテムの子として、クリップボードの内容を追加するように実装します

    2008年11月21日 10:20
  • こんにちは。中川俊輔です。

     

    Azuleanさん、Jittaさん、回答ありがとうございます。

     

    sakuratiさん、フォーラムのご利用ありがとうございます。

    その後いかがでしょうか?

    有用な情報と思われたため、Azuleanさん、Jittaさんの回答へ回答済みチェックをつけさせていただきました。

    追加の質問等ありましたら、ぜひ投稿してみてください!

     

    今後ともフォーラムをよろしくお願いします。

    それでは!

    2008年12月5日 7:37