- - PR -
リストボックス内で任意の場所にドラッグアンドドロップする
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-02-28 19:54
リストボックス内でデータの並び替えを任意の場所にドラッグアンドドロップする感じで並び替えをしたいと思っております。
イメージとしては、IEのお気に入りの位置をづらすような感じです。 このようなリストボックスを標準のツールでできるものでしょうか? 同一のリスボックスからこの操作が行えることが条件です。 よろしくお願いします。 | ||||
|
投稿日時: 2005-03-01 01:21
ドラッグドロップの一連の操作を実装することになると思います。
同一リストボックスの例ではないですが、ここが参考になると思います。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformscontrolclassdodragdroptopic.asp IndexFromPointメソッド等を使って、どのリスト項目にドロップされたかを 取得することになるのかなぁと思います。 | ||||
|
投稿日時: 2005-03-01 09:20
べるさん こんにちは
やはり別々のリストボックスになってしまいますよね。 でもCode Project当りを探せばあるかもしれないので探してみます。 コンポーネントが重たいのであまり好きではないのですが、GrapeCityのNetAdvantageを所有しているのでそれで出来ないか問い合わせてみる事にします。 | ||||
|
投稿日時: 2005-03-01 20:11
私書き方が悪かったですね、応用すれば同一リストボックスでも出来ると思います。
リストボックスのAllowDropをtrueにしておおよそ以下のようにイベントハンドラを 実装する。不備は多々ありますがあくまでもサンプルです。
ListBoxを継承する方法もありました。 http://santamartadotnet.hp.infoseek.co.jp/documents/dotnettips/tips047.html ListBoxにこだわらないということだったのですね。 GrapeCityのコントロールで出来るならそっちのほうが楽かもしれませんね。 [ メッセージ編集済み 編集者: べる 編集日時 2005-03-01 20:14 ] | ||||
|
投稿日時: 2005-03-01 20:42
はぁ?例が別々なだけなのでは?アレンジして、自分でやってみましたか?どういう風にコーディングして、どうなったから「出来ない」と判断したのでしょう?探すのもいいですが、自分でやってみるのも大切では? 2つのListBoxがあって、一方からもう一方へ送っているなら、“もう一方”を自分自身にすればいいだけですよね。DragSourceとDragTargetの実装の違いを見比べれば、DragTargetをドラッグソースにする方法、DragSourceをドラッグターゲットにするには何をすればいいか、わかりませんか? # そっかぁ、ドラッグのスタートはこうするのか。 # イベントだけ見ててもわからないはずだ。 # べるさん、thanksです。 _________________ | ||||
|
投稿日時: 2005-03-01 22:49
>だいまるさん
MSDNのサンプルとかをコピペして動かし(それなりの修正はあるにせよ)、何かしら動作している 状態からコードをいじっていくだけでも結構参考(場合によってはそのまま使う)になりますよ。
ListViewだとドラッグ開始しただけでItemDragというイベントが発生するようですね。 [ メッセージ編集済み 編集者: べる 編集日時 2005-03-01 23:32 ] | ||||
|
投稿日時: 2005-03-02 11:05
べるさん。
大変丁寧にご指導頂いてサンプルまで考えて頂きありがとうございます。 これから実装してみて結果を報告させて頂きます。 まだASP.NETのプログラムしかやったことがなくこれから開発する条件にもなっていたので、私自身マウスのドラッグ操作の知識が全くない状態でとりあえず可能なことなのかを見極めたく実装する前に質問してしまいました事ごめんなさい。 おかげさまで出来ることがわかったので安心して開発に入れそうです。 これからもよろしくお願いします。 Jittaさん。 例が別々なだけで出来ないと判断してしまい申し訳ございません。 自分が同一リストボックス内でのドラッグという画面操作を今まで見たことがなくて固定概念で出来ないと思い込んでいたところがありMSDNのサンプルを見たときにはまだ理解ができなかったのです。。 でもべるさんがその後に書き込んでくれたサンプルで把握でき大変感謝しております。 回答が遅くて申し訳ございません。まだまだ未熟者ですが、これからもよろしくお願いします。 MSDNのサンプルをコピペするという手法も教えていただいてありがとうございました。 | ||||
|
投稿日時: 2005-03-03 22:08
あ〜!「昔やったから、そんな難しくないはず」と思っていたのですが、こっちだ。。。 TreeViewのドラッグドロップ移動も作った記憶があるのですが、BCB5なのと、「もう要らない」と思ったのか、見あたらない。。。 _________________ |