this.Controls.Add()visibility = false

时间:2014-09-10 17:24:08

标签: c#

当在C#中以编程方式在运行时添加Label时,Label" this.Controls.Add(无论如何)后,Label的可见性会变为false,这是不正确的。知道怎么解决这个问题吗?

    public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        Label label = new Label();
        label.Location = new Point(15, 15);
        label.Text = "Test";
        label.AutoSize = true;
        MessageBox.Show(Convert.ToString(label.Visible));
        this.Controls.Add(label);
        MessageBox.Show(Convert.ToString(label.Visible));
    }
}

第一个MessageBox显示" true",而第二个MessageBox显示" false"

2 个答案:

答案 0 :(得分:3)

您已将标签添加到尚未显示​​的表单中,因此当然由于整个表单不可见,因此该表单上的标签不是“标签”。可见。

显示表单后,标签将变为可见。

答案 1 :(得分:0)

因为它尚未添加,所以默认为true,然后添加它并从父级获取值