簡體   English   中英

c#.net-制表符頁邊距

[英]c# .NET - Tabpage margin

我有一個帶有3個選項卡的選項卡控件。 我需要在第一個標簽頁上添加一個左邊距(因此將所有標簽頁向右移動200px)。 我該怎么做??

使用Visual Studio 2008 / C#

編輯再讀一遍,我認為您是在尋找每個頁面上的控件都在選項卡的右側,而不是移動按鈕。

正如漢斯(Hans)所言,小組討論是最簡單的方法。 但這並不漂亮。

    private void Form1_Load(object sender, EventArgs e)
    {
        // Create spacer tab with a name long enough to reach the 200px mark
        TabPage spacer = new TabPage("..............................................................");
        tabControl1.TabPages.Insert(0, spacer);

        // Create a panel at the same location of the tab control.
        Panel spacerBlock = new Panel();
        spacerBlock.Name = "spacer";
        spacerBlock.Location = tabControl1.Location;
        spacerBlock.Width = 198;
        spacerBlock.Height = 20;

        this.Controls.Add(spacerBlock);

        spacerBlock.BringToFront();
    }

    private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
    {
        // Ensure the user can't use the keyboard to somehow select the spacer tab.
        if (tabControl1.SelectedIndex == 0)
            tabControl1.SelectedIndex = 1;

        // Check if the second (first I guess) tab is selected and adjust the panel to keep the look consistant.
        if (tabControl1.SelectedIndex == 1)
            this.Controls["spacer"].Width = 198;
        else
            this.Controls["spacer"].Width = 200;
    }

您需要確保用戶無法通過鍵盤快捷鍵選擇選項卡,從而無法檢查索引更改。

還要注意,如果由於3d GUI效果而選擇了第二個(在您的情況下為第一個)選項卡,則必須調整面板的寬度。

老實說,考慮到最終用戶的外觀設置以確保間隔標簽的文本和面板寬度正確的長度並不能真正彌補IMHO的麻煩。

我能想到的唯一其他選項是高度為16px的選項卡面板。 同樣,這必須根據最終用戶的外觀設置進行調整,更不用說使所有功能正常工作的額外開銷。

如果是AjaxControlToolkit選項卡控件,請添加以下CSS類:

.TabContainer .ajax__tab_header
{
    padding-left: 200px;
}

您將需要一種解決方法,因為無法移動標簽頁。 您可能想在選項卡頁面中放置一個分組框,然后可以根據需要在該分組框內添加所有控件...

// tabPage 1
this.tabPage1.Controls.Add(this.groupBox1);

// groupBox1
this.groupBox1.Location = new System.Drawing.Point(200,6);
this.groupBox1.Controls.Add(this.textBox1);
this.groupBox1.Controls.Add(this.AnyControls); //etc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM