将控制台输出引导到Windows窗体中的文本框的好方法是什么
本文关键字:文本 是什么 方法 窗体 输出 控制台 Windows | 更新日期: 2023-09-27 17:58:40
在C#中,将控制台输出引导到Windows窗体中的文本框的好方法是什么?
如果我有一个现有的程序有控制台。WriteLine,我需要重载Windows窗体文本框中的函数吗?
创建一个写入文本框的文本编写器:
public class TextBoxWriter : TextWriter
{
TextBox _output = null;
public TextBoxWriter (TextBox output)
{
_output = output;
}
public override void Write(char value)
{
base.Write(value);
_output.AppendText(value.ToString());
}
public override Encoding Encoding
{
get { return System.Text.Encoding.UTF8; }
}
}
并将控制台输出重定向到此写入程序:
//...
public Form()
{
InitializeComponent();
}
private void Form_Load(object sender, EventArgs e)
{
Console.SetOut(new TextBoxWriter(txtConsole));
Console.WriteLine("Now redirecting output to the text box");
}
button_Click(object sender, EventArgs e)
{
try
{
// Do stuff
}
catch(Exception exception)
{
// Couldn't do stuff. Log the exception.
myTextBox.Text += "'n" + exception.Message;
}
}
应该这样做。