treeview展開イベント(VS2010C++)

このQ&Aのポイント
  • treeview展開イベントの発生について
  • VS2010 C++/CLIでの開発時に、treeviewの+-表示部の展開閉時に発生するイベントを教えていただけないでしょうか。
  • イベントはテキスト部を選択時には発生するが、+-の部分のみで開閉するとイベントが受け取れませんでした。
回答を見る
  • ベストアンサー

treeview展開イベント(VS2010C++)

お世話になります VS2010 C++/CLIで開発しております treeviewの+-表示部での展開閉時に発生するイベントを教えていただけないでしょうか。 以下のイベントを確認したのですが、テキスト部を選択時にはイベントが発生するのですが、 +-の±部のみで開閉を行うとイベントが受け取れませんでした。 AfterCheck AfterCollapse AfterExpand BeforeCheck BeforeCollapse BeforeExpand BeforeSelect Click ContextMenuChanged ContextMenuStripChanged NodeMouseClick TreeNodeCollapsed TreeNodeExpanded

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

当方の VC2010Expressですと 『+』のクリックだけでBeforeExpandおよびAfterExpandが呼ばれましたよ ハンドラの登録がうまくいっていないだけなのでは … デザイナで登録したのであれば this->treeView1->BeforeExpand += gcnew System::Windows::Forms::TreeViewCancelEventHandler(this, &Form1::treeView1_BeforeExpand); this->treeView1->AfterExpand += gcnew System::Windows::Forms::TreeViewEventHandler(this, &Form1::treeView1_AfterExpand); といった記述があると思います

usami33
質問者

お礼

回答ありがとうございました。 は、恥ずかしい 敗因はVS上でのイベント追加が遅いので、外部エディッタで記述した際のミスでした。 情けない・・・

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

BeforeExpandとAfterExpandだと思いますよ …

usami33
質問者

お礼

回答ありがとうございます BeforeExpandとAfterExpandだと、記号部だけのクリックでは、イベントが上がってこなかったんです。 C++/CLIだけだめなのかな・・・(この手のイベントやプロパティ多すぎ)

関連するQ&A

  • VS treeviewをIndex指定で展開

    お世話になります VS2010 C++/CLIで開発しております treeviewの+-展開閉をプログラム側で制御したいのですが、教えていただけないでしょうか。 自分でググって。ノード名で指定する方法は判ったのですが、 今回教えていただきたいのはIndexで指定して開閉する方法となります。 機能としては、複数の親ノードに対して、初期値として、初めから展開して居る物と、 閉じている物を起動時&リセット時に設定して、その状態で表示する。

  • VS Treeview のデザイン変更

    お世話になります Visual Studio 2010 C++/CLIで開発していおります。 Treeviewの展開時のマークを+から△に変えたいのですが、 プロパティのどの項目で変えるのか教えていただけないでしょうか。

  • 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クリック時のイベントの拾い方をご存知の方がおられましたらご教授お願いします。

  • BeforeExpandのイベント作成方法

    いつもお世話になっています。 C#をはじめて3日目の初心者です。 C#でツリーコントロールをしようしてディレクトリツリーを作成しています。 ノードを展開しようとしているときに発生するイベントが「BeforeExpand」であることまで調べられたんですが、「TreeView」イベントから「BeforeExpand」を作成する方法がわかりません。。。 フォームをダブルクリックするとForm1_Loadのコードが自動で作成されますが、「TreeView」に対して何かをすればできると思っています。。。 ご存知の方よろしくお願いします。

  • Treeviewのnodeについて

    お世話になります。 C#2005で開発をしております。 Treeviewに関してのご質問をさせていただきます。 Treeviewのnodeの一つを、enable=falseにしたいと考えております。 しかしながら、Treeviewにプロパティがありません。 enabel=falseに相当するプロパティがあれば、ご教示いただければ幸いに存じます。 現状は、Treeviewのnodeの一つの文字色を変更する方法で考えておりますが、 何かよい方法があればと思いご質問させていただきました。 恐れ入りますが、ご回答いただければ幸いに存じます。

  • delphi、treeviewについて再び

    お世話になっております。 たびたびtreeviewがらみなんですが、 treeview上で、nodeのテキストを変更可能にした時、 OnEditedで該当ノードのテキストを取得しようとすると、 やり方が悪いのか、どうしても変更前のテキストしか取得できません。 変更後のテキストを取得するにはどうしたらいいのでしょう?

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

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

  • 【C#】TreeViewがクリックされたら、その部分を別の領域に表示さ

    【C#】TreeViewがクリックされたら、その部分を別の領域に表示させたい お世話になります。C#初心者です。 TreeViewがクリックされたら、クリックされた部分だけを別画面(textBoxやLabelなど…)に表示させたいのですが、調べてもよくわかりません。 分かる方いらっしゃいましたらご回答いただけると幸いです。 宜しくお願いいたします。

  • 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にキャストすればよいかと思ったのですがエラーになります・・・ }

  • TreeView の初期表示について

    TreeView に『A』『B』『C』のノードがあるとします。 初期表示を『B』ノードを選択・展開した状態(子ノードあり)にしたいのですが、 方法がわかりません。 何かよい方法はないでしょうか?よろしくお願いします。 説明不足な点はすぐに補います。

専門家に質問してみよう