c#如何实现在一个用户控件中点击button切换到另一个用户控件

2024-12-23 06:42:56
推荐回答(2个)
回答1:

假设两个用户控件(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控件,就能够做到切换。

回答2:

切换?是指焦点还是?