public delegate void SelectItemsChangedEventHandler(ItemChangingEventArgs e);
public class ItemChangingEventArgs : EventArgs
{
public List<string> lstSelItems { get; set; } //这里存放用户选择的分类信息
}
public class Win子窗口
{
public event SelectItemsChangedEventHandler SelectItemsChangedEvent;
public void Win子窗口_Closed()
{
ItemChangingEventArgs args = new ItemChangingEventArgs();
args.lstSelItems = new List<string>();
//获取用户选择的分类信息...
//调用自定义事件通知主窗口
this.SelectItemsChangedEvent(args);
}
public void 树形控件SelectIndexChanged事件处理函数()
{
ItemChangingEventArgs args = new ItemChangingEventArgs();
args.lstSelItems = new List<string>();
//获取用户选择的分类信息...
//调用自定义事件通知主窗口
this.SelectItemsChangedEvent(args);
}
}
public class Win主窗口
{
Win子窗口 winChild;
public Win主窗口()
{
//主窗口构造函数中初始化子窗口对象,但是不显示,需要的时候调用Show
winChild = new Win子窗口();
winChild.SelectItemsChangedEvent += new SelectItemsChangedEventHandler(winChild_SelectItemsChangedEvent);
}
//子窗口分类项选择事件处理
void winChild_SelectItemsChangedEvent(ItemChangingEventArgs e)
{
List<string> lstRt = e.lstSelItems;
//做需要的事情
//...
}
}