Windows窗体标签在动态创建时不会出现
本文关键字:创建 窗体 标签 动态 Windows | 更新日期: 2023-09-27 18:16:42
我正在编写一个程序,该程序为在表单上编写文本创建标签,但在不知何故设法销毁了一个重要的类之后,我又从头开始…我似乎不能让它打印标签了,但他们根本不出现。
public partial class Form1 : Form
{
static Form FormX = new Form();
public Form1()
{
Shown += new EventHandler(FormX_Shown);
InitializeComponent();
}
public void FormX_Shown(object sender, EventArgs e)
{
WriteTextOnScreen("Hello!");
}
public void WriteTextOnScreen(string text)
{
Label tempLabel = new Label();
tempLabel.Text = text;
tempLabel.Name = "";
tempLabel.Location = new Point(10, 10);
FormX.Controls.Add(tempLabel);
}
}
我不知道问题是什么,但现在它变得越来越令人讨厌了,因为我不够聪明,无法自己解决它:-P
您将标签添加到FormX的控件集合中,此表单将永远不会显示。
我认为你应该给你自己的实例添加标签(this)
public void WriteTextOnScreen(string text)
{
Label tempLabel = new Label();
tempLabel.Text = text;
tempLabel.Name = "";
tempLabel.Location = new Point(10, 10);
this.Controls.Add(tempLabel);
}
然而,这只适用于一个标签,因为位置总是相同的(10,10)。如果您多次调用此方法,则最后一个标签将绘制在前一个标签的上方,并且您将只看到最后一个标签。