各位高手好,想请教如下问题: 
在“控制面板”中的“打印机和传真”窗口中,设置“服务器属性”手动添加了自定义纸张,名为"epson670" 
用如下代码设置打印参数  DataRow drw = Utility.LoadPrintSettings("购件单打印设置"); //读取纸张 PaperSize p = null; foreach (PaperSize ps in pdPrintPurchase.PrinterSettings.PaperSizes)
 {     
     if (ps.PaperName.Equals(drw["PaperName"].ToString()))
     {
         p = ps;
         break;
     }
 } pdPrintPurchase.PrinterSettings.DefaultPageSettings.PaperSize = p;
 pdPrintPurchase.DefaultPageSettings.PaperSize = p;
现在的问题是:
如果用是A4之类的标准纸张(比如就用A4),那么上面的代码没有任何问题——
在调用PageSetupDialog1.ShowDialog()方法后,弹出的“页面设置”对话框里默认显示的纸张就是A4;
但是如果是自定义的纸张,比如上面的epson670,那么无论怎么写,弹出的“页面设置”对话框里默认显示的纸张却总是“Letter”。
通过设置中断,发现直到调用PageSetupDialog1.ShowDialog()方法之前,
PrintDocument对象pdPrintPurchase的PrinterSettings.DefaultPageSettings.PaperSize属性,
以及它的DefaultPageSettings.PaperSize属性都已经成功的被赋值:PaperSize {[PaperSize epson670 Kind=Custom Height=866 Width=551]} System.Drawing.Printing.PaperSize也就说到这一步都没有问题,觉得问题是出在PageSetupDialog上,可惜不知道其内部机制是如何运行的。想问问如何才能让PageSetupDialog接受自定义的纸张并显示为默认页?
望不吝赐教,拜谢!