2010-07-25 88 views
2

我正在尋找一個Winforms控件,可以在控制檯窗口中輸出文本(輸出附加到底部,顏色格式等)。就像大多數IDE中的「輸出」窗口一樣。控制檯式的文本控制?

我試着自己做一個,但它沒有按照我想要的方式工作,所以我想知道是否有一些現有的控制。

這是一個開源項目。

+0

.Net Windows控制檯應用程序不能完成這項工作嗎?你想做什麼,你無法做到這一點? – DOK 2010-07-25 20:06:01

+0

這是一個IRC客戶端。 – 2010-07-25 20:11:34

+0

您是否找到您需要的? – MadBoy 2010-07-30 17:48:36

回答

1

我寫了一個簡單的控件。但它不適用於顏色(它來自textWriter,它不支持顏色)。

internal class TextBoxWriter : TextWriter { 
    TextBox _output; 

    public TextBoxWriter(TextBox output) { 
     _output = output; 
    } 

    public override void WriteLine(string value) { 
     Write(value + System.Console.Out.NewLine); 
    } 

    public override void Write(string value) { 
     if(_output.InvokeRequired) { 
      _output.BeginInvoke((Action<string>)Write, value); 
     } else { 
      _output.AppendText(value); 
     } 
    } 

    public override void Write(char value) { 
     Write(value.ToString()); 
    } 

     public override Encoding Encoding { 
      get { return Encoding.UTF8; } 
     } 
    } 

用法:

//designer code 
private System.Windows.Forms.TextBox outputTextBox; 
this.outputTextBox = new System.Windows.Forms.TextBox(); 

//user code 
var _textWriter = new TextBoxWriter(); 
System.Console.SetOut(_textWriter); 
Console.WriteLine("hello"); //this will be show in the outputTextBox 
+0

我之前在幾個應用程序中做過類似的事情,但是你的實現更簡潔。謝謝!而且,對我而言,我可以很輕鬆地將控制檯重定向到另一位作者。這很棒。 – 2013-06-13 16:51:07

0

什麼RichTextBox控件(內置)?或者,也許你可以使用ListView,因爲它可以用於irc。特別是ObjectListView提供了很多可能性。