实现将Stream输出到Control的Text属性

 /// <summary>
 /// TextBoxLogger 的摘要说明。
 /// 实现将Control文本输出象文件一样。
 /// </summary>
 public class ControlStreamWriter : System.IO.TextWriter
 {
  private System.Windows.Forms.Control m_Control;
  public ControlStreamWriter( System.Windows.Forms.Control control )
  {
   m_Control  = control;
  }
  public override void Write( string value )
  {
   m_Control.Text += value;
  }
  public override void Write( object value )
  {
   this.Write( value.ToString() );
  }
  public override void Write( ulong value )
  {
   this.Write( value.ToString() );
  }
  public override void Write( long value )
  {
   this.Write( value.ToString() );
  }
  public override void Write( uint value )
  {
   this.Write( value.ToString() );
  }
  public override void Write( int  value )
  {
   this.Write( value.ToString() );
  }
  public override void Write( float value )
  {
   this.Write( value.ToString() );
  }
  public override void Write( decimal value )
  {
   this.Write( value.ToString() );
  }
  public override void Write( double value )
  {
   this.Write( value.ToString() );
  }
  public override void Write( char[] buffer , int index , int count )
  {
   System.Text.StringBuilder sb = new System.Text.StringBuilder();
   sb.Append( buffer , index , count );
   this.Write( sb.ToString( ) );
  }
  public override void Write( char[] buffer )
  {
   System.Text.StringBuilder sb = new System.Text.StringBuilder();
   sb.Append( buffer );
   this.Write( sb.ToString( ) );
  }
  public override void Write( char value )
  {
   this.Write( value.ToString() );
  }
  public override void Write( bool value )
  {
   this.Write( value.ToString() );
  }
  public override void Write( string format , params object[] arg )
  {
   this.Write( string.Format( format , arg ) );
  }
  public override void Write( string format , object arg0 , object arg1 , object arg2 )
  {
   this.Write( string.Format( format , arg0 , arg1 , arg2 ) );
  }
  public override void Write( string format , object arg0 , object arg1 )
  {
   this.Write( string.Format( format , arg0 , arg1 ) );
  }
  public override void Write( string format , object arg0 )
  {
   this.Write( string.Format( format , arg0 ) );
  }

  public override void WriteLine( )
  {
   this.Write( "\r\n" );
  }
  public override void WriteLine( string value )
  {
   this.Write( value + "\r\n" );
  }
  public override void WriteLine( object value )
  {
   this.WriteLine( value.ToString() );
  }
  public override void WriteLine( ulong value )
  {
   this.WriteLine( value.ToString() );
  }
  public override void WriteLine( long value )
  {
   this.WriteLine( value.ToString() );
  }
  public override void WriteLine( uint value )
  {
   this.WriteLine( value.ToString() );
  }
  public override void WriteLine( int  value )
  {
   this.WriteLine( value.ToString() );
  }
  public override void WriteLine( float value )
  {
   this.WriteLine( value.ToString() );
  }
  public override void WriteLine( decimal value )
  {
   this.WriteLine( value.ToString() );
  }
  public override void WriteLine( double value )
  {
   this.WriteLine( value.ToString() );
  }
  public override void WriteLine( char[] buffer , int index , int count )
  {
   this.Write( buffer , index , count );
   this.WriteLine();
  }
  public override void WriteLine( char[] buffer )
  {
   this.Write( buffer );
   this.WriteLine();
  }
  public override void WriteLine( char value )
  {
   this.WriteLine( value.ToString() );
  }
  public override void WriteLine( bool value )
  {
   this.WriteLine( value.ToString() );
  }
  public override void WriteLine( string format , params object[] arg )
  {
   this.Write( format , arg );
   this.WriteLine();
  }
  public override void WriteLine( string format , object arg0 , object arg1 , object arg2 )
  {
   this.Write( format , arg0 , arg1 , arg2 );
   this.WriteLine();
  }
  public override void WriteLine( string format , object arg0 , object arg1 )
  {
   this.Write( format , arg0 , arg1 );
   this.WriteLine();
  }
  public override void WriteLine( string format , object arg0 )
  {
   this.Write( format , arg0 );
   this.WriteLine();
  }
  public override System.Text.Encoding Encoding
  {
   get{ return System.Text.Encoding.Unicode; }
  }
 }

posted on 2004-08-17 23:20  kingdom  阅读(238)  评论(0)    收藏  举报

导航