public class PrintGridDocument:PrintDocument,,,
把PrintDocument这个类的
protected override void OnPrintPage(PrintPageEventArgs e)
{
base.OnPrintPage (e);
重写了,
在页面设置里改为横向,但在预览里还是竖的。??????是不是还得把其它的什么方法也重写呀。

解决方案 »

  1.   

    //初始化时改成横向打印
    doc.DefaultPageSettings.Landscape = true;
      

  2.   

    PageSetupDialog pageSetupDialog = new PageSetupDialog();
    printGridDocument = new PrintGridDocument(_DataGrid); pageSetupDialog.Document=this.printGridDocument;
    pageSetupDialog.ShowDialog();
    是在这个pageSetupDialog里把横向改为纵向的。但在
    printPreviewDialog.Document = printGridDocument;
    printPreviewDialog.ShowDialog();
    这里看还是横向的。
      

  3.   

    printPreviewDialog.Document 
    pageSetupDialog.Document
    确保是同一个this.printGridDocument