如何在所有选项卡控件中显示标签

时间:2013-05-15 18:40:17

标签: c# winforms

我正在使用标签控件,并且有一个标签显示我要在所有三个标签中显示的客户名称。但是,如果我把它放在标签1上,那么它就不会显示在标签2和3上,甚至认为标签的名称是唯一的。有没有办法做到这一点 ?或者我必须创建3个不同的标签?非常感谢。

3 个答案:

答案 0 :(得分:1)

这可能适合你。更改标签时。将标签添加到TabPage的Controls集合中。将标签添加到新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);
    }
}

答案 1 :(得分:0)

在设计时将Tab label1置于TabPage中的所需位置,然后使用以下代码将其切换到Load()事件中的Form:

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();
}

答案 2 :(得分:0)

你应该放置2个面板。 第一个面板应具有Docking = Top且高度等于标签的高度。把你的标签放在那里(在第一个面板上)。 第二个面板应该有Docking = Fill,将你的标签控件放在第二个面板上。