C#將Trace,Debug資訊輸出到控制項上

來源:互聯網
上載者:User

      主要實現方法,繼承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 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.