我遇到了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);
}
}
}
干杯! :)
答案 0 :(得分:0)
您是在每个页面上使用布局方法还是只是定位控件?一个(麻烦的)解决方案是存储每个控件的位置。更好的想法是使用布局。