繁体   English   中英

C#在选项卡控件中存储选项卡页的原始位置

[英]C# Storing original positions of Tab Pages within a Tab Control

我是C#的新手,我正在尝试使用其中具有5个标签页的标签控件。 这些标签页会在需要时显示和隐藏,我可以将页面重新添加到所需位置,例如,应该通过传递与我希望它出现在其中的位置有关的数字,在tabPage1和tabPage3之间重新添加tabPage 2。交换页面。 如何存储tabPages的原始位置,然后只说应该将tabPage2添加到tabPage2的存储位置中?

在此先感谢您的帮助。

您可以将原始位置存储在Tag属性中。 需要某些逻辑,因为第1页和第3页可能都不存在。 这应该接近:

public partial class Form1 : Form {
    public Form1() {
        InitializeComponent();
        for (int page = 0; page < tabControl1.TabCount; ++page)
            tabControl1.TabPages[page].Tag = page;
    }

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

    public void ShowTab(TabPage page) {
        int pos = (int)page.Tag;
        int insertPoint;
        for (insertPoint = 0; insertPoint < tabControl1.TabCount; ++insertPoint) {
            if (pos <= (int)tabControl1.TabPages[insertPoint].Tag) break;
        }
        tabControl1.TabPages.Insert(insertPoint, page);
        hiddenPages.Remove(page);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM