C#中打印设置对话框读取默认打印机的值,而设置后不会更改默认打印机的值,所以没次都变。有一个api可以更改默认打印机的值,具体是那一个我记不清了。

解决方案 »

  1.   

    PageSetupDialog中不是有一个PageSettings属性吗,我自己也定义了一个PageSettings,每次PageSetupDialog初始化的时候将自己定义的PageSettings负给PageSetupDialog的PageSettings属性,确定后将PageSetupDialog的PageSettings属性负给自己定义的PageSettings,为什么这样做也不可以
      

  2.   

    以前我以碰到过这样的问题,这样就可以解决了.Margins mg = this.pst.Margins;
    this.pst.Margins = System.Globalization.RegionInfo.CurrentRegion.IsMetric ?
    PrinterUnitConvert.Convert(mg, PrinterUnit.Display, PrinterUnit.TenthsOfAMillimeter) : mg;
    this.pageSetupDialog1.PageSettings = this.pst;
    this.pageSetupDialog1.ShowDialog();