当在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"
答案 0 :(得分:3)
您已将标签添加到尚未显示的表单中,因此当然由于整个表单不可见,因此该表单上的标签不是“标签”。可见。
显示表单后,标签将变为可见。
答案 1 :(得分:0)
因为它尚未添加,所以默认为true,然后添加它并从父级获取值