StateImageList を利用してツリーに「適切な」トライステート チェックを実装するツリービューがあります。ただし、問題は、ツリーに追加されるノードの最初のレイヤーです。デフォルトでは、新しい TreeNode の StateImageIndex は -1 であり、それらが追加されたことを実際に知る方法はありません。子ノードであるノードは、BeforeExpand でキャッチして StateImageIndex を適切に設定できますが、ノードのトップ レイヤーをどうすればよいかわかりません。
私の現在の回避策(本当に嫌いです)は、バックグラウンドチェックでタイマーを実行して、ツリービュー内のノードの数が変更されたかどうかを確認することです.StateImageIndexを持つすべてのルートノードを実行して見つけます-1 に設定し、それらを 0 に設定します。これは機能しますが、リソースの浪費がひどいようです。誰にもより良い提案がありますか?