1

私はC#に比較的慣れていないので、5つのタブページを含むタブコントロールを使用しようとしています。これらのタブページは必要に応じて表示および非表示になり、必要な位置にページを再追加できます。たとえば、表示する位置に関連する番号を渡すことで、tabPage2をtabPage1とtabPage3の間に再追加する必要があります。ページを入れ替えます。tabPagesの元の位置を保存してから、tabPage2をtabPage2の保存された位置に追加する必要があると言うにはどうすればよいですか?

助けてくれてありがとう。

4

1 に答える 1

0

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);
    }
}
于 2010-08-01T19:20:51.083 に答える