C#输出不会转到表单中的TextBox

时间:2017-07-15 20:39:48

标签: c#

我无法弄清楚为什么say()方法无法写入我在名为“ConsoleBox”的表单上的TextBox。请帮助。

OLD:     公共部分类Form1:表格     {         公共Form1()         {             的InitializeComponent();
        }

    public void say(string h)
    {
        System.Console.WriteLine();
        ConsoleBox.AppendText(h);
    }


    public void richTextBox_ChangedText(object sender, EventArgs e)
    {                        
        say("Online ...");
        say("What is you Name?");
        string Name = System.Console.ReadLine();
        say("It is truly a pleasure to meet you, Sir {0}" + Name);
    }
}

这是怎么回事? 新:

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

        public void say(string h)
        {                
            ConsoleBox.AppendText(h);
        }



        private void ConsoleBox_TextChanged(object sender, EventArgs e)
        {            
            say("Online ...");
            say("What is you Name?");
            //string Name = outputbox.AppendText();
            //say("It is truly a pleasure to meet you, Sir {0}" + Name);
        }
    }

1 个答案:

答案 0 :(得分:0)

您的代码中没有任何错误。看起来TextBox的大小非常小,您无法看到所有文本。请尽量扩大规模。

一些改进。

您应该在测试中注释掉或删除包含System.Console的行。我不认为你可以在VS IDE的调试模式下运行它时看到Console窗口。那些台词没有扮演任何角色。即使System.Console.ReadLine也无法阅读任何内容。

首先尝试只运行2行以下:

say("Online ...");
say("What is you Name?");

以下代码适用于我:

public void say(string h)
{
    System.Console.WriteLine();
    textBox1.AppendText(h);
}

private void richTextBox1_TextChanged(object sender, EventArgs e)
{
    say("Online ...");
    say("What is you Name?");
}