如何选择显示跟踪和/或调试输出?

时间:2013-10-10 15:28:56

标签: c# trace

我想选择在文本框,调试和/或跟踪输出上显示的内容。我怎样才能做到这一点?

在示例代码中,我只将输出添加到Trace.Listeners,但Debug.Writeline仍然出现在文本框中。为什么呢?

预期成果: 安慰 微量

实际结果: 安慰 跟踪 的调试

示例代码:

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

        TextBoxWriter txtWriter = new TextBoxWriter(this.txbMultiLine);
        Console.SetOut(txtWriter);

        var traceDebugOutput = new TextWriterTraceListener(txtWriter);
        Trace.Listeners.Add(traceDebugOutput);

        Console.WriteLine("Console");
        Trace.WriteLine("Trace");
        Debug.WriteLine("Debug");
    }
}

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; }
    }
}

0 个答案:

没有答案