0

我正在使用选项卡控件,并且有一个标签显示我想在所有三个 3 个选项卡中显示的客户姓名。但是,如果我把它放在标签 1 上,那么它就不会显示在标签 2 和 3 上,即使认为标签的名称是唯一的。有没有办法做到这一点 ?还是我必须创建 3 个不同的标签?多谢。

4

3 回答 3

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);
    }
}
于 2013-05-15T19:17:31.677 回答
0

您应该放在表格 2 面板上。第一个面板应该有 Docking = Top 并且高度等于标签的高度。把你的标签放在那里(在第一个面板上)。第二个面板应该有停靠=填充,把你的标签控件放在第二个面板上。

于 2013-05-16T03:28:05.020 回答
0

在设计时将其放置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();
}
于 2013-05-16T02:46:31.883 回答