2013-05-15 105 views
0

我正在使用選項卡控件,並且有一個標籤顯示我想要在所有三個選項卡中顯示的客戶名稱。但是,如果我將它放在選項卡1上,那麼它將不會顯示在選項卡2和3上,即使認爲標籤的名稱是唯一的。有沒有辦法做到這一點 ?還是我必須創建3個不同的標籤?非常感謝。如何在所有選項卡控件中顯示標籤

+0

每個選項卡在TabPage中都有自己的內容。如果它始終可見,爲什麼不將標籤粘貼在選項卡控件上方? – CodeCaster

+0

標籤上方是否有標籤?否則,你真的需要將它添加到所有頁面 – Sayse

+0

@CodeCaster:我試圖將標籤控件上方的拉鍊移動,但它不會讓我。我不知道我是否做得不對。順便說一句,我設置窗口運行在最大尺寸,當它第一次啓動時,我不知道它是否會阻止我調整標籤控件或不 –

回答

1

這可能適合你。更改標籤時。將標籤添加到TabPage的Controls集合。將標籤添加到新的TabPage時,它會從前一個TabPage中刪除,因此每次更改標籤時都必須重新添加標籤。在設計時的TabPage的所需位置

public partial class Form1 : Form 
{ 
    Label label = new Label() { Text = "Hello World" }; 

    public Form1() 
    { 
     InitializeComponent(); 
     tabControl1.TabPages[0].Controls.Add(label); 
    } 

    private void tabControl1_Selected(object sender, TabControlEventArgs e) 
    { 
     e.TabPage.Controls.Add(label); 
     e.TabPage.Controls.SetChildIndex(label, 0); 
    } 
} 
0

位置label1,然後將其切換到窗體中的Load()事件中使用這樣的代碼:

private void Form1_Load(object sender, EventArgs e) 
{ 
    Point pt = label1.PointToScreen(new Point(0, 0)); 
    label1.Parent = this; 
    label1.Location = this.PointToClient(pt); 
    label1.BringToFront(); 
} 
0

應戴上形式2個面板。 第一個面板的Docking = Top和高度等於標籤的高度。把你的標籤放在那裏(在第一面板上)。 第二個面板應該有Docking = Fill,將您的選項卡控件放在第二個面板上。

相關問題