假设两个用户控件(UserControl)分别为ctrl1,ctrl2,把ctrl1和ctrl2都放在groupbox中,Dock属性都设置为DockStyle.Fill,撑满groupbox。然后在ctrl1内部添加一个事件:
public event Action ControlSwitch;在ctrl1的button点击事件里这么写:
if(ControlSwitch!=null)在ctrl1和ctrl2的父级元素,也就是groupbox所在的Form中注册ctrl1的事件:
这样就可以了。ctrl1的button点击事件会触发ControlSwitch事件,进而触发Form中的SwitchToCtrl函数,这个函数可以同时访问到ctrl1和ctrl2控件,就能够做到切换。
那ctrl1的visible设置为false后ctrl1上事件或类似timer_tick还会不会触发
在groupbox中显示另外的用户控件
追答那本来那个用户控件是不显示的吗
追问就是在groupbox中显示用户控件1,点击控件1中的button后groupbox显示用户控件2