pageSetupDialog aa=new pagesetupdialog
再看看可以吗

解决方案 »

  1.   

    protected void FilePrint_Clicked(object sender, System.EventArgs e)
    {
     printDialog1=new PrintDialog();
     printDialog1.AllowPrintToFile =true;
     PrintDocument docPrn = new PrintDocument();
     docPrn.DocumentName=t1.Text;
     printDialog1.Document=docPrn;  
     if(printDialog1.ShowDialog()==DialogResult.OK)
     {
      try
      {
       docPrn.Print();
      }
      catch
      {
       MessageBox.Show ("Error While Printing", "Print Error");
      }
     }
    }
    private void mprint_Click(object sender, System.EventArgs e)
    {
    statusBar.Text="Print the current document";
    }
    //Printer options...
    protected void FilePageSetUp_Clicked(object sender, System.EventArgs e)
    {
     PrintDocument docPrn = new PrintDocument();
     docPrn.DocumentName=t1.Text;
     pageSetupDialog1=new PageSetupDialog();
     pageSetupDialog1.Document=docPrn;
     pageSetupDialog1.ShowDialog();
     
    }
    然后参考下下如下的源代码:
    http://www.c-sharpcorner.com/Database/QueryBuilder100NKI.asp
      

  2.   

    pageSetupDialog1.Document.DefaultPageSettings.PaperSize= new PaperSize(纸张名, 纸张宽度,纸张高度);   //注:这种纸张我在打印服务器属性中已经添加,哪怕是A4也一样!
      

  3.   

    我试过改页边距的时候,改pageSetupDialog1.PageSettings的属性对ShowDialog出来的默认属性没有任何影响,但改pageSetupDialog1.Document.DefaultPageSettings属性就有效果了。上面的语句你试试看有没有效果。
      

  4.   

    abcynic(门外汉):按你的也试了,不行,一样的,边距什么的,我用下面方法:
    pageSetupDialog1.PageSettings.Margins.Left=XXX
    是有效的!
      

  5.   

    问题解决了:
    PaperSize pkSize;
    for (int i = 0; i < this.ThePrintDocument.PrinterSettings.PaperSizes.Count; i++)
    {
    pkSize = this.ThePrintDocument.PrinterSettings.PaperSizes[i];
    if(pkSize.PaperName=="纸张名")
    pageSetupDialog1.PageSettings.PaperSize=pkSize;
    }