c#如何实现在一个用户控件中点击button切换到另一个用户控件
展开全部
假设两个用户控件(UserControl)分别为ctrl1,ctrl2,把ctrl1和ctrl2都放在groupbox中,Dock属性都设置为DockStyle.Fill,撑满groupbox。然后在ctrl1内部添加一个事件:
public event Action ControlSwitch;
在ctrl1的button点击事件里这么写:
if(ControlSwitch!=null)
ControlSwitch();
在ctrl1和ctrl2的父级元素,也就是groupbox所在的Form中注册ctrl1的事件:
ctrl1.ControlSwitch+=SwitchToCtrl2;
private void SwitchToCtrl2()
{
ctrl1.Visible = false;
ctrl2.Visible = true;
}
这样就可以了。ctrl1的button点击事件会触发ControlSwitch事件,进而触发Form中的SwitchToCtrl函数,这个函数可以同时访问到ctrl1和ctrl2控件,就能够做到切换。
追问
那ctrl1的visible设置为false后ctrl1上事件或类似timer_tick还会不会触发
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询