for (int i = 0; i < this.ThePrintDocument.PrinterSettings.PaperSizes.Count; i++)
{
pkSize = this.ThePrintDocument.PrinterSettings.PaperSizes[i];
if(pkSize.PaperName==this.PaperName)
{
this.ThePrintDocument.DefaultPageSettings.PaperSize=pkSize;
i=this.ThePrintDocument.PrinterSettings.PaperSizes.Count;
if(this.ThePrintDocument.DefaultPageSettings.Landscape)
{
PageHeight = pkSize.Width;
PageWidth = pkSize.Height;
}
else
{
PageWidth = pkSize.Width;
PageHeight = pkSize.Height;
}
}
}

解决方案 »

  1.   

    以下是我的程序代码,但是改不了custom的大小。
    for(int i = 0; i < this.printDocument1.PrinterSettings.PaperSizes.Count; i++)
    {
    if(this.printDocument1.PrinterSettings.PaperSizes[i].Kind == System.Drawing.Printing.PaperKind.Custom)
    {
    //以下两行抛出异常:不能更改PaperSize,除非它的Kind是Custom
    this.printDocument1.PrinterSettings.PaperSizes[i].Width = 1000;
    this.printDocument1.PrinterSettings.PaperSizes[i].Height = 500; this.printDocument1.DefaultPageSettings.PaperSize = this.printDocument1.PrinterSettings.PaperSizes[i];
    }
    }
      

  2.   

    呵呵,我也遇到过,给你个办法。
    http://www.epson.com.cn/tech_support/faq/dot/lq1600ki/lq1600ki.asp?lq1600ki=13
      

  3.   

    http://www.epson.com.cn/tech_support/faq/top_ten2.asp
    这个!!!