vb.net - 在 tabControl 中隐藏和显示 TabPages

标签 vb.net tabcontrol tabpage

我正在尝试根据用户选择显示或隐藏标签页。如果用户选择性别男性,则应在标签页“男性”中显示男性表单,如果用户选择女性,则应在下一个选项卡“女性”中显示类似的下一个表单

我尝试使用

tabControl1.TabPages.Remove(...)


tabControl1.TabPages.Add(...)

它添加和删除标签页,但这样做也会失去我对标签页的控制......我看不到它们。这里有什么问题?

最佳答案

您可以从 TabControl.TabPages 集合中删除标签页并将其存储在列表中。例如:

    private List<TabPage> hiddenPages = new List<TabPage>();

    private void EnablePage(TabPage page, bool enable) {
        if (enable) {
            tabControl1.TabPages.Add(page);
            hiddenPages.Remove(page);
        }
        else {
            tabControl1.TabPages.Remove(page);
            hiddenPages.Add(page);
        }
    }

    protected override void OnFormClosed(FormClosedEventArgs e) {
        foreach (var page in hiddenPages) page.Dispose();
        base.OnFormClosed(e);
    }

关于vb.net - 在 tabControl 中隐藏和显示 TabPages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3365025/

相关文章:

vb.net - 保存 VSTO 工作簿的非 VSTO 副本

c# - 以编程方式使用 TabControl

c# - TabPage 点击事件

.net - 不可见的标签页(标签控件)上的控件返回 Visible = false

mysql - 什么样的 JOIN 语句可以从 3 个表中检索到正确的数据?

vb.net - 如何将 .NET 2.0 网站升级到 3.5?

.net - 无法从带有事件的用户控件中添加标签页

c# WPF MVVM TabControl 与多个 ViewModels 和更改选项卡

c# - 在表单中的 tabcontrol 中与用户控件进行通信

c# - 这段代码能正确判断两种类型是否相等吗?