【发布时间】:2017-06-11 23:52:52
【问题描述】:
我有这个TextWriter
public static string txt = "./Logs.txt";
public static TextWriter Logs = File.CreateText(txt);
我想做这样的事情
textBox1.Text = Logs.ToString();
或者像这样
Logs.Flush();
textBox1.Text = "";
File.WriteAllText(txt, textBox1.Text);
我也试过了
public class ControlWriter : TextWriter
{
private Control textbox;
public ControlWriter(Control textbox)
{
this.textbox = textbox;
}
public override void Write(char value)
{
textbox.Text += value;
}
public override void Write(string value)
{
textbox.Text += value;
}
public override Encoding Encoding
{
get { return Encoding.ASCII; }
}
}
//in the Form_Load
TextWriter TW = new ControlWriter(textBox1);
它可以工作,但如果应用程序开始连续写入,应用程序将冻结....
【问题讨论】:
-
那你试过了吗?它奏效了吗?如果没有,是什么没用?
-
没什么用,第一个代码在文本框“System.IO.StreamWriter”中输出这个,第二个代码会给我这样的错误“Logs.txt is used by another process”
标签: c# winforms textbox textwriter