用户控件之间调用方案

现有一方案:
主界面为winform窗体,子界面全部为用户控件(UserControl)。启动时,将子界面实例化加载,界面切换通过隐藏实现
现存问题:A用户控件触发B用户控件时,由于通过隐藏显示方式实时,需通过VisibleChanged事件更新界面内容。弊端:每隐藏或显示一次,有时与业务无关,也会触发调用

有没有更好的思路呢,网上看到有反射加载窗体的方式,但目前做成这样了,先不采纳