文本框不按预期方式叠加文本

时间:2016-08-22 00:54:43

标签: c# winforms

我是编码的新手。我无法弄清楚为什么我的文本框不会使用C#在Windows窗体中显示文本。这是我的代码。

public partial class Form1
{
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());

        Form1 myTestObject = new Form1();
        myTestObject.myTextPanel("hello");
    }

    public void myTextPanel(string myText)
    {
        // Windows Forms textBox1
        textBox1.Text = myText;
    }
}

1 个答案:

答案 0 :(得分:2)

您正在运行Form1的实例,然后创建相同的新实例(请记住两者都是不同的实例)并分配值。你可以试试这个:

Form1 myTestObject = new Form1();
myTestObject.myTextPanel("hello");
Application.Run(myTestObject);

将使用Form1的相同实例,以便您可以看到文字正在显示;您也可以使用构造函数,而不是myTextPanel方法,构造函数将如下所示:

public void Form1(string myText)
{
    // Windows Forms textBox1
    textBox1.Text = myText;
    // Do something
}

如果是这样,主要将改变如下:

Form1 myTestObject = new Form1("hello");  
Application.Run(myTestObject);

或者像这样:

Application.Run(new Form1("hello"));