- ベストアンサー
TreeViewコントロールについて
VB2005環境です。 TreeViewコントロールを作成し、ノードごとにクリックイベントを 追加して、タブコントロールを呼び出すようにしたいと考えています。 (親ノードをクリックしたら、親ノード用のタブコントロールが 画面に表示され、さらに子ノードAをクリックすると、ノードA用の タブコントロールが表示される、ノードBをクリックすると…という具合に)。 NodeMouseClickイベントを使えば良いのかとは思うのですが、クリックイベントが 子ノード各々ごとに取得できず困っています。 やり方を教えていただけないでしょうか? 更に、そこから各々専用のタブコントロールを呼び出す方法も 教えていただけるとありがたいです。 よろしくお願いします。
- Visual Basic
- 回答数3
- ありがとう数2
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>NodeMouseClickイベントを使えば良いのかとは思うのですが、クリックイベントが >子ノード各々ごとに取得できず困っています。 NodeMouseClickイベントで取得できませんか? Private Sub TreeView1_NodeMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick Debug.WriteLine("Text:" & e.Node.Text) Debug.WriteLine("Level:" & e.Node.Level.ToString) End Sub こういうことではないのでしょうか? >更に、そこから各々専用のタブコントロールを呼び出す方法も >教えていただけるとありがたいです。 NodeのTagに識別できる値を設定して処理するとか・・・
その他の回答 (2)
- mjsamiasan
- ベストアンサー率57% (55/95)
補足なのですが、MouseClickイベントでは、文字通りマウス操作にしか対応しないので、AfterSelect等を使った方がよりいいと思われます。 これならkeybord操作にも対応します。 (マウス操作しか想定しないのであれば無視して下さい。)
- unamana19
- ベストアンサー率62% (56/89)
Tabの選択は、NodeMouseClickイベントで Private Sub TreeView1_NodeMouseClick(ByVal sender As Object, _ ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) _ Handles TreeView1.NodeMouseClick With Me.TabControl1 .SelectedTab = .TabPages(e.Node.Text) End With End Sub のようにすればいいかと思います。 ただし、TabControlに追加されているTabの名前(Name)とNodeのTextが同じなのが 条件です。
関連するQ&A
- VB.net TreeViewコントロール
VB.net(2010 Express)でTreeViewコントロールを使用し、子ノードと子ノードの間にドラックアンドドロップする際に線を表示したいのですが、どのようにすれば良いのか分かりません。 単純に子ノードのドラッグアンドドロップはできるのですが、子ノード同士の間に線を表示する方法が分からずにハマっています!! 添付しました画像の様な線を表示できる方法など分かる方がいましたら、お力をお貸しください。 宜しくお願い致します。
- 締切済み
- Visual Basic
- 【C#】TreeViewでクリックした親ノードと、子ノードを表示させた
【C#】TreeViewでクリックした親ノードと、子ノードを表示させたい C#初心者です。 TreeView(treeView1)で親ノードをクリックしたら、その親ノード+子ノードを、別のTreeView画面(treeView2)に表示させたいのですが、やり方がわかりません。 例えば、 +A -B -C +D -E というTreeViewの場合、Aの親ノードをクリックしたら、Aの親ノードと、BとCの子ノードが、別画面(treeView2)に表示されるようにしたいです。 どなたか分かる方いらっしゃいましたら教えていただけると幸いです。 宜しくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- VC#のTreeViewコントロールについて
こんばんは。 VC#2005ExpressEditionで、TreeViewコントロールを使ったフォームを作ろうとしています。 フォームの左側にTreeViewコントロールをおいて、 ノードを選択するたびに、右側が切り替わるようなフォームを作りたいと考えています。 ちょうどeclipseの設定画面みたいな感じです。 ノードの数はすでに決定しています。 ただ、いろいろ調べたのですが、 ノードを追加したり削除したり、コードにアイコンを設定したり、 そういった情報はあるのですが、私がやってみたいことの情報は見つかりませんでした・・・。 ノードに対応するフォームをひとつづつ作って、ノードが選択されたときにそれを呼び出す、 のような感じだと思うのですが、具体的にどのように設定したらよいか分かりません・・・。 ご存知の方がいらっしゃったら教えていただけませんか? よろしくおねがいします。
- 締切済み
- C・C++・C#
- VB2008.netのTreeViewについて質問です。
VB2008.netのTreeViewについて質問です。 質問させて頂きます。 VB2008で作業をしています。 TreeViewで子ノードを選択します。 この時、選択されている子ノードの、親ノードを取得したいのですが 方法がわかりません。 わかる方教えていただけないでしょうか。
- ベストアンサー
- Visual Basic
- TreeViewでToolTipTextを表示しない方法
VB6.0でTreeViewコントロールを使ってプログラミングしています。 このとき、TreeViewのノード上にカーソルを持っていくと、ToolTipTextが 自動的に表示されます。このToolTipTextの表示を禁止する方法を教えて ください。
- 締切済み
- Visual Basic
- C# TreeViewのノードの判定
TreeViewでクリックしたノードの位置が親ノード(+の位置)かそれとも配下の子ノード なのか判定することはできますでしょうか。
- ベストアンサー
- C・C++・C#
- TreeViewについて
TreeViewを使う場合、その管理情報(親ノードのIDとかKeyとか。。子ノードの情報とか、、)をテーブルに保存しておくと便利な気がするのですが、TreeViewを使う場合の基本(テーブル作成時)みたいなのを教えてもらえませんでしょうか?
- ベストアンサー
- その他(データベース)
- TreeView の初期表示について
TreeView に『A』『B』『C』のノードがあるとします。 初期表示を『B』ノードを選択・展開した状態(子ノードあり)にしたいのですが、 方法がわかりません。 何かよい方法はないでしょうか?よろしくお願いします。 説明不足な点はすぐに補います。
- ベストアンサー
- Visual Basic
- TreeViewのCheckBoxについて
はじめまして。 以下の環境で開発しています。 Visual studio 2005 Version 8.0.50727.867 (vsvista.050727-8600) .NET Framework Version 2.0.50727 SP2 Visual Basic 2005 TreeView(二階層限定)にCheckBoxを表示させて親ノードのCheckBoxをTrue/Falseすると その子ノードのCheckBoxも全部合わせてTrue/Falseするものを作ろうとしていますが、 CheckBoxクリック時のイベントが拾えません。 どなたかご存知の方がおられましたらご教授ください。 通常のCheckBoxであればPostBackが発生するのですが、TreeViewのCheckBoxにはそのような イベントがありません。 TreeNodeCheckChangedイベントはあるのですが、True/Falseが切り替わったあとにTreeView のラベル選択したときに発生する中途半端なイベントなので使えません。 http://msdn.microsoft.com/ja-jp/library/system.windows.forms.treeview.aftercheck(VS.80).aspx のヘルプからAfterCheckイベントを調べて試したのですが、 Imports System.Windows.Forms Public Event AfterCheck As TreeViewEventHandler を定義して、以下の関数を書いてみたのですが、 Private Sub node_AfterCheck(ByVal sender As Object, ByVal e As TreeViewEventArgs) Handles TreeView1.AfterCheck ~中身~ End Sub 「イベントAfterCheckが見つかりません。」とコンパイルエラーとなります。 客先の開発環境なのでバージョンアップ等はできません。 どなたかCheckBoxクリック時のイベントの拾い方をご存知の方がおられましたらご教授お願いします。
- ベストアンサー
- SE・インフラ・Webエンジニア
- 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 よろしくお願いします。
- ベストアンサー
- Visual Basic
お礼
ありがとうございます。 マウスクリックイベントから何とかしようとしていたのが よくなかったようです。 大変参考になりました。