PageSetupDialog.PageSetting.PageSize.Kind 的属性是只读,即无法改变的:在页面设置对话框中的打印纸大小选项中的选项是只可以获取,而不可以设置的,而通过设置打印纸大小的方法,我今天上午试图来解决这个问题,可还是没有成功,不知道还有没有其他的方式呢?

解决方案 »

  1.   

    更改PrintDocument.DefaulPageSettings里的相应属性就可以了
      

  2.   

    这是我曾经做过的,你可以看看,设置纸张大小就可以了//打印方向(纵/横)
    this.printDocument1.DefaultPageSettings.Landscape = bool.Parse(ps.ChildNodes[0].InnerText);

    //设置纸张类型
    string papername = ps.ChildNodes[1].InnerText;
    bool fitpaper = false;
    //获取打印机支持的所有纸张类型
    foreach(PaperSize size in this.printDocument1.PrinterSettings.PaperSizes)
    {
    if(papername == size.PaperName)//看该打印机是否有我们需要的纸张类型
    {
    this.printDocument1.DefaultPageSettings.PaperSize = size;
    fitpaper = true;
    }
    }
    if(!fitpaper)
    {
    //假如没有我们需要的标准类型,则使用自定义的尺寸
    this.printDocument1.DefaultPageSettings.PaperSize = 
    new PaperSize("Custom", int.Parse(ps.ChildNodes[2].InnerText), 
    int.Parse(ps.ChildNodes[3].InnerText));
    }
    //页边距左右上下
    this.printDocument1.DefaultPageSettings.Margins = new System.Drawing.Printing.Margins(int.Parse(ps.ChildNodes[4].InnerText),int.Parse(ps.ChildNodes[5].InnerText),int.Parse(ps.ChildNodes[6].InnerText),int.Parse(ps.ChildNodes[7].InnerText));
      

  3.   

    假如你用的是win2000/nt/xp的话,发邮件[email protected]