我有一个窗体,命名为MainView。在MainView中我有一个用户控件:
我在用户控件中做了一些事情,然后点击“确定”。由于确定按钮,我想隐藏这个用户控件并打开另一个。但是我不能从第一个用户控件访问另一个用户控件。
hi3rlvi21#
创建“将用户控件置于最前面”的外观的一种简单方法是,当单击[OK]按钮时,让每个用户控件本身为Hide()。然后,主窗体可以根据第一个窗体的不可见性修改“其他”窗体的可见性:
Hide()
主视图
单击“确定”按钮时切换用户控件的可见性。
public partial class MainView : Form { public MainView() { InitializeComponent(); userControlB.Visible= false; userControlA.VisibleChanged += (sender, e) => { if(!userControlA.Visible) { userControlB.Visible = true; } }; userControlB.VisibleChanged += (sender, e) => { if (!userControlB.Visible) { userControlA.Visible = true; } }; } }
用户控件A
public partial class UserControlA : UserControl { public UserControlA() { InitializeComponent(); buttonOK.Click += (sender, e) => { Hide(); }; } }
用户控件B
public partial class UserControlB : UserControl { public UserControlB() { InitializeComponent(); buttonOK.Click += (sender, e) => { Hide(); }; } }
1条答案
按热度按时间hi3rlvi21#
创建“将用户控件置于最前面”的外观的一种简单方法是,当单击[OK]按钮时,让每个用户控件本身为
Hide()
。然后,主窗体可以根据第一个窗体的不可见性修改“其他”窗体的可见性:主视图
单击“确定”按钮时切换用户控件的可见性。
用户控件A
用户控件B