0

我正在编写一个程序,该程序创建用于在表单上编写文本的标签,但是在设法破坏了一个重要的类之后,我又从头开始......我似乎不能再让它打印标签了,他们根本不t 出现。

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

4

1 回答 1

1

您将标签添加到 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)。如果您多次调用此方法,最后一个标签将绘制在前一个标签之上,您将只能看到最后一个标签。

于 2013-06-02T19:39:06.813 回答