首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用和隐藏TabPage

禁用和隐藏TabPage
EN

Stack Overflow用户
提问于 2012-10-15 19:52:50
回答 10查看 85K关注 0票数 18

如何使TabControl中的TabPage可见/隐藏和启用/禁用?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2012-10-15 20:02:03

您可能遗漏了显而易见的东西,因为以下两个操作都不会删除/更改选项卡的外观

代码语言:javascript
复制
        tabPage1.Enabled = false; // this disables the controls on it
        tabPage1.Visible = false; // this hides the controls on it.

也不能从顶部的列表中删除选项卡。

票数 5
EN

Stack Overflow用户

发布于 2012-10-15 20:44:21

  • Enable /禁用

tabPage.Enabled似乎工作正常,但被标记为“不能使用”:

此应用编程接口支持.NET框架基础结构,不能直接在代码中使用。

此成员对此控件没有意义。

因此,您应该通过禁用选项卡中的每个控件来禁用选项卡页。例如,参见this

  • Show /隐藏

存在一个现有的tabPage.Visible属性,但它似乎没有任何效果。此外,它还被标记为“不使用”,msdn建议从选项卡控件中删除选项卡页,以便将其隐藏:

//隐藏页签页tabControl.TabPages.Remove(tabPage1);//显示页签页(插入正确位置) tabControl.TabPages.Insert(0,tabPage1);

票数 30
EN

Stack Overflow用户

发布于 2013-11-07 09:09:03

我也有这个问题。tabPage.Visible没有像前面说的那样实现,这是一个很大的帮助(+1)。我发现你可以重写这个控件,这样就可以了。有点尸检,但我想把我的解决方案张贴在这里供其他人参考。

代码语言:javascript
复制
    [System.ComponentModel.DesignerCategory("Code")]
public class MyTabPage : TabPage
{
    private TabControl _parent;
    private bool _isVisible;
    private int _index = int.MinValue;
    public new bool Visible
    {
        get { return _isVisible; }
        set
        {
            if (_parent == null) _parent = this.Parent as TabControl;
            if (_parent == null) return;

            if (_index < 0) _index = _parent.TabPages.IndexOf(this);
            if (value && !_parent.TabPages.Contains(this))
            {
                if (_index > 0 && _index < _parent.TabPages.Count) _parent.TabPages.Insert(_index, this);
                else _parent.TabPages.Add(this);
            }
            else if (!value && _parent.TabPages.Contains(this)) _parent.TabPages.Remove(this);

            _isVisible = value;
            base.Visible = value;
        }
    }

    protected override void InitLayout()
    {
        base.InitLayout();
        _parent = Parent as TabControl;
    }
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12895092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档