C#將Trace,Debug信息輸出到控件上

      主要實現方法,繼承TraceLinster類,重寫構造參數,重寫Write和WriteLine方法就可以了,具體代碼如下:

Code
 1    public class ControlTraceListener : TraceListener
 2     {
 3         private Control _control;
 4         private StringSendDelegate _invokeWrite;
 5         private delegate void StringSendDelegate(string msg);
 6 
 7         public ControlTraceListener(Control target)
 8         {
 9             _control = target;
10             _invokeWrite = new StringSendDelegate(SendString);
11         }
12 
13         public override void Write(string message)
14         {
15             _control.Invoke(_invokeWrite, new object[] { message });
16         }
17 
18         public override void WriteLine(string message)
19         {
20             _control.Invoke(_invokeWrite, new object[] { message + Environment.NewLine });
21         }
22 
23         private void SendString(string msg)
24         {
25             // No need to lock control as this function will only 
26             // ever be executed from the UI thread
27             _control.Text += msg;
28         }
29     }
30 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章