急!!!!!!!!!!!!!!!!!我想实现打印c:\test.htm文件代码如下:printDocument1.DocumentName="c:\\test.htm";
printDocument1.Print();但打印出来的效果不对,请各位高手解决此问题。

解决方案 »

  1.   

    printDocument1.DocumentName="c:\\test.htm";
    ---------------------------
    获取或设置打印文档时要显示的文档名,不是要打印得文档要想实现打印,你得先把这个文件读到stringreader里去,然后一行一行的画出来给你个例子先定义一个printdocument
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.pd_PrintPage);
    pd.Print();protected void pd_PrintPage( object sender , PrintPageEventArgs ev )
    {
    string strText = richTextBox1.Text ;
    myReader = new StringReader(strText);
    float linesPerPage = 0 ;
    float yPosition = 0 ;
    int count = 0 ;
    float leftMargin = ev.MarginBounds.Left ;
    float topMargin = ev.MarginBounds.Top ;
    string line = null ;
    Font printFont = richTextBox1.Font ;
    SolidBrush myBrush = new SolidBrush ( Color.Black ) ;
    linesPerPage = ev.MarginBounds.Height / printFont.GetHeight ( ev.Graphics ) ;
    while ( count < linesPerPage && ( ( line = myReader.ReadLine ( ) ) != null ) ) 
    {
    yPosition = topMargin + (count * printFont.GetHeight( ev.Graphics ) ) ;
    ev.Graphics.DrawString(line,printFont,myBrush,leftMargin,yPosition,new StringFormat ( ) ) ;
    count++ ;
    }
    if ( line != null )
    ev.HasMorePages = true ;
    else
    ev.HasMorePages = false ;
    myBrush.Dispose();
    }richTextBox1显示的是你读到的c:\\test.htm的内容
      

  2.   

    你还可以调用打印对话框,预览对话框,预览控件等调用pd.print打印的时候会调用pd_PrintPage()