私は、ツリービューを保持するクラスでイベントを発生させます。つまり、クラスが持つデリゲートとイベントを定義します。従属クラスは、そのイベントにサブスクライブし、そのイベントに含まれるデータに基づいて動作することができます。あなたの質問を理解しているように、依存するクラスはツリービューで何もする必要はないので、ツリービューについて知らないといけません。
public delegate void YouControlHandler(int relevantData1, string relevantData2);
public class ClassContainingTreeView
{
public event YouControlHandler TreeViewClickedEvent;
public void OnTreeViewClicked(object sender, EventArgs)
{
// Handle request locally first and extract relevantData1/2
if(TreeViewClickedEvent != null)
TreeViewClickedEvent(relevantData1, relevantData2);
}
}
public class DependingClass
{
ClassContainingTreeView yourObject = new ClassContainingTreeView();
public DependingClass()
{
yourObject.TreeViewClickedEvent += new YouControlHandler(EventHandler);
}
protected void EventHandler(int relevantData1, string relevantData2)
{
// Handle event
}
}
クラスbのインスタンスをいつ作成していますか? –