为什么每次执行这段代码,弹出的页面设置对话框的页边距值都不一样?PageSetupDialog pageSetupDialog = new PageSetupDialog();
pageSetupDialog.Document = printDocument1;
pageSetupDialog.ShowDialog();先谢谢了,等待中...
pageSetupDialog.Document = printDocument1;
pageSetupDialog.ShowDialog();先谢谢了,等待中...
void PageSetupClick(object o, EventArgs e)
{
if (System.Globalization.RegionInfo.CurrentRegion.IsMetric)
{
// .NET运行时版本为1.1,当前线程所使用的区域选项的度量衡系统为公制时,
// 显示在页边距对话框中的是当前页边距以“十分之一英寸”为单位的数值,
// 按下“确定”时,却把屏幕上的页边距数值按“毫米”为单位对页面进行设定。
// 以下代码就是为了纠正这个BUG的。
Margins mg = prndoc.DefaultPageSettings.Margins;
prndoc.DefaultPageSettings.Margins = PrinterUnitConvert.Convert
(mg, PrinterUnit.Display, PrinterUnit.TenthsOfAMillimeter);
DialogResult dlgResult = pageSetupDlg.ShowDialog();
if (dlgResult == DialogResult.Cancel)
{
prndoc.DefaultPageSettings.Margins = mg;
}
}
else
{
pageSetupDlg.ShowDialog();
}
}// .NET 2.0 已经改正了这个问题, 不需修正.