QA@IT

VB.NETでのTreeViewのCheckBoxクリックイベントについて

5495 PV

はじめまして。
以下の環境で開発しています。

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

回答

WindowsFormの話でしょうか?WebFormの話でしょうか?

TreeNodeCheckChangedがあるということはWebFormのような気がしますが

AfterCheckイベントはWindowsForm用のものなのでWebFormでは使えません。

TreeNodeCheckChangedでうまく実装するかまったく別のTreeViewを使わないと駄目だと

思います。

編集 履歴 (0)
  • ご回答ありがとうございます。
    ご指摘の通り、WebFormです。
    JavaScriptでPostBackさせることで解決しました。
    ありがとうございました。
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。