.NET TabControl容器锚定问题

时间:2011-02-24 10:48:27

标签: c# winforms layout tabcontrol anchor

我遇到了c#Winforms的一个strang问题(没有尝试过VB.NET)我在页面上有一个TabControl,还有4个TabPages。

我有一些身份验证逻辑,用于在最小化后显示表单时显示/隐藏这些TabPages。这种“隐藏”逻辑将基本上删除选项卡,并在表单进行身份验证时重新插入它们。

因此,首先应用程序最小化。我恢复它,我的身份验证失败,因此删除了标签。我再次最小化应用程序,恢复窗口,通过身份验证并插入选项卡。但是,页面中固定到相对侧(左侧,右侧和顶部,底部以允许它们伸展)的控件似乎已断开。顶部/左侧位置没问题,但相反的位置似乎已从可见页面伸出!

我猜这都与删除和添加页面有关,但是之前有人见过这个并知道为什么会这样吗? (更重要的是知道一项工作):)

请注意,我隐藏/显示标签的代码使用如下函数: -

private void TabControlPageVisible(TabPage page, Boolean show)
    {
        if (show)
        {
            if (!tabControlMain.TabPages.Contains(page))
            {
                tabControlMain.TabPages.Insert(0, page);
                page.ResumeLayout();
            }
        }
        else
        {
            if (tabControlMain.TabPages.Contains(page))
            {
                page.SuspendLayout();
                tabControlMain.TabPages.Remove(page);
            }
        }
    }

干杯! :)

1 个答案:

答案 0 :(得分:0)

您是在每个页面上使用布局方法还是只是定位控件?一个(麻烦的)解决方案是存储每个控件的位置。更好的想法是使用布局。