我无法弄清楚为什么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);
}
}
答案 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?");
}