关于Trace输出窗口的问题

zpingy 2010-10-19 10:51:24
微软调试有个输出窗口,我想用于我的程序中,我用的是Trace类,但是我发现Trace.Listeners好像不能够加控件,请问怎么实现一个类似微软IDE输出窗口的东西(可以用listBox或者listView实现)
...全文
95 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
机器人 2010-10-19
  • 打赏
  • 举报
回复
自定义一个TraceListener, 扔出一个Event,让窗体的ListBox用。

MyTraceListener

using System;
using System.Diagnostics;

namespace TraceForm
{
public class MyTraceListener : TraceListener
{
public delegate void TraceEventHandler(string message);

public event TraceEventHandler OnTraceEvent;


public override void Write(string message)
{
if (OnTraceEvent != null)
OnTraceEvent(message);
}

public override void WriteLine(string message)
{
if (OnTraceEvent != null)
OnTraceEvent(message);
}

}
}


窗体上

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

private void Form1_Load(object sender, EventArgs e)
{
MyTraceListener listener = new MyTraceListener();
listener.OnTraceEvent += new MyTraceListener.TraceEventHandler(listener_OnTraceEvent);

Trace.Listeners.Add(listener);

timer1.Enabled = true;
}

void listener_OnTraceEvent(string message)
{
this.listBox1.Items.Add(message);
}

private void timer1_Tick(object sender, EventArgs e)
{
Trace.WriteLine("test " + DateTime.Now.ToLongTimeString());
}
}

zpingy 2010-10-19
  • 打赏
  • 举报
回复
我的意思是我程序中已经用Trace类了,现在要在我的程序界面显示调试信息,怎么用控件?写文件和控制台微软提供了,没有问题,现在要显示在类似IDE的输出窗口中....
机器人 2010-10-19
  • 打赏
  • 举报
回复
你用Console.WriteLine,然后打开IDE的Output窗口就能看到了。

另外Log4Net也行,功能很强大。
周药师 2010-10-19
  • 打赏
  • 举报
回复
listbox1.items.add("123") ;//向listbox中添加一个item; 

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧