• ベストアンサー

TreeViewで複数ノードの選択は可能ですか?

VisualBasic2005でwindowsアプリの開発をしています。 今回希望として、複数のノードを一度にドラッグするというのがあるのですが、 TreeViewで複数ノードの選択は可能なのでしょうか? そして、もし可能な場合、それらを一気にドラッグということは可能でしょうか? ドロップ先では、ドラッグ中のノードのtextが取れればよいです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mo_gu
  • ベストアンサー率51% (56/109)
回答No.1

TreeViewをカスタマイズすれば出来ます。 C#のサンプルがありますので参考にしてみてはどうでしょうか http://www.codeproject.com/cs/miscctrl/mwcontrols.asp

sunasaka3
質問者

お礼

サンプルのご提示ありがとうございます。 参考にしてVBで作ってみます。 ありがとうございました!

その他の回答 (1)

回答No.2

おなじく CodeProject に上がっている TreeView コントロールで、こんなのもあります。 <Advanced TreeView> http://www.codeproject.com/cs/miscctrl/treeviewadv.asp マルチ カラムみたいです。

sunasaka3
質問者

お礼

ありがとうございます。 参考にさせていただきます。 No.1のご回答のサンプルと比べてどちらが、 自分が求めるものを実現しやすいかを試してみます。 ありがとうございました!

関連するQ&A

  • TreeViewについて

    VisualBasic6.0で自分用のアプリをつくっています。TreeViewコントロールを使っているのですが各ノードにコマンドラインやテキストのデータを付け加えたいのですが方法がわかりません。ご存知の方よろしくお願いします。

  • VB2005 TreeViewの任意ノード選択

    お世話になっております。 VB2005でWinアプリを開発中です。 ルートノードは1つで、 そこから子、孫、ひ孫・・・と階段状になるTreeViewを作っています。 親   L子      L孫         Lひ孫             ・・・・ このようなツリーに対し、プログラムで任意のノードを選択状態にしたいのですが、 ノードの名称などで一発で指定する方法はありますでしょうか?? 上の例で、「孫」を選択状態にしたい場合、 TreeView1.SelectedNode = TreeView1.Nodes(0).Nodes(0).Nodes(0) と書けば、できることはできるのですが。 他にもっとよい方法があるはずと思うのですが、見つけられませんでした。 VB6.0なら、下記に方法があったのですが・・・ http://oshiete1.goo.ne.jp/qa732490.html よろしくお願いします。

  • 新しいノード

    TreeViewで新しいノードを作成した時、 その新しくできたノードを選択状態にするには どうすればいいのでしょうか? Lastノード、Nextノードを使ってみたのですが、 うまく取得できませんでした。 お願いします。 開発環境はVB.Net2003です。

  • ToolStripMenuItemのクリックイベントからTreeViewのノードを取得したい

    C#3.5を使用しています。 TreeViewのContestMenuStripのToolStripMenuItemをクリックしたときに どの(複数のノードに同じContestMenuStripをセットしています)TreeViewのノードからのToolStripMenuItemが クリックされたかを知るためにEventArgs e からTreeViewの選択されてるノードが取得したいのですが、 どうすれば良いのでしょうか? private void itemAddToolStripMenuItem_Click(object sender, EventArgs e) { var ev = (System.Windows.Forms.ToolStripItemEventArgs)e;// ToolStripItemEventArgsにキャストすればよいかと思ったのですがエラーになります・・・ }

  • VB.net TreeViewコントロール

    VB.net(2010 Express)でTreeViewコントロールを使用し、子ノードと子ノードの間にドラックアンドドロップする際に線を表示したいのですが、どのようにすれば良いのか分かりません。 単純に子ノードのドラッグアンドドロップはできるのですが、子ノード同士の間に線を表示する方法が分からずにハマっています!! 添付しました画像の様な線を表示できる方法など分かる方がいましたら、お力をお貸しください。 宜しくお願い致します。

  • TreeViewの再表示のちらつきをなくす方法

    お世話になっております。 VB2005でWinアプリ開発中です。 テキストボックスに条件を入力し、ボタンを押下すると、 TreeViewに該当データのノードを設定し、 ノードを展開した状態で表示する処理があります。 ノードが展開表示されている状態で、ボタンを押下し 新しい情報を再表示すると、 ノードが折りたたまれて展開されたというような動きが見えてしまいます。 SuspendLayout/ResumeLayoutを入れてみたのですが、変化無しでした。 ノードが展開された状態で、パッと再表示するには、 どのようにすればよいのでしょうか? よろしくお願いします!

  • delphiにてみたび、ノードの間隔

    お世話になっております。 みたび(いつまで続くのか?)TreeViewについてです。 ツリーの項目をドラッグドロップで順番入れ替えたりできるようにしている最中です。 とりあえず簡単な移動は何とかできたのですが、そのテストをしている最中にはたと 気づきました。フォルダをつかんでフォルダの列の中に 移動させようとすると、フォルダの中に入ってしまいます。 で、そうならないように、つまりあるフォルダのひとつ上のノードにもうひとつの フォルダを移動させたいのです。 そこで、ツリーのノードとノードの間を取得すればできるのではないかと思ったのですが、その取得方法 (なのか、それともツリーのノード同士の間隔を広げる方法なのか?なのですが) まだ見付けられずにいます。 どなたかdelphi使いの先輩がた、教えてください。よろしくお願いいたします。

  • C言語 TreeViewのノードをプログラムで選択

    お世話になっています。 TreeViewをプログラムの内部から選択したり、選択を外したりする方法を探しています。 何かご存知のかた、いらっしゃいましたらご教授いただければ幸いです。 さて、これだけですと「自分で調べろ」と言われそうなので、現在の私のやり方をば。 ただ、Cのカテゴリに投稿していますが実際は言語が違います。 なぜCのカテゴリに投稿したかというと、個人開発言語ですので利用者が少なくほしい情報を得ることが出来ないと考えたためです。 ご了承ください。 なお、言語はActiveBasicというものを使っています。(VBとは文法がかなり違うのであえてCに投稿しています。) 以下、無理矢理Cになおしています。 TVITEM tvi; HWND focus; tvi.mask = TVIF_STATE; tvi.stateMask = TVIS_SELECTED; tvi.state = TVIS_SELECTED; tvi.hItem = [ツリーのノードのハンドル]; SendMessage(hTree,TVM_SETITEM,0,VarPtr(tvi)); このような感じで書いていますが、 SendMessage(hTree,TVM_GETNEXTITEM,&H0009,0); で、選択したはずの値(ハンドル)が返ってきません。 いろいろ試行錯誤しているのですが、どうも理解できないので質問させていただきました。 よろしくお願いします。

  • JTreeのドラッグアンドドロップ選択色について

    お世話になっております。 JTreeのノードをドラッグアンドドロップする際に、 選択されているノードは色が付くのですが、ドロップ対象にも 色を付けたいと思っています。 ドラッグ対象とドロップ対象の両方に選択色を付けるには どうすれば宜しいでしょうか。 宜しくお願いいたします。

    • ベストアンサー
    • Java
  • TreeViewを反転表示したままTextBoxにカーソル

    VB2005 Expressで開発をしています。 TreeViewでノードを選択して、その値をTextBoxに表示しようと 思っています。 そこで、選択したノードを反転表示したままTextBoxにカーソル をセットすることは可能なのでしょうか。 フォーカスを当てた上体で反転されるので無理な気はするのですが、 ご存知の方がいらっしゃいましたら教えて下さい。 よろしくお願いします。

専門家に質問してみよう