PrintDocument打印预览正常,打印时错位的问题 在网上查了很多资料,好像是打印机物理边距的问题..但是没有找到解决方法..请大帮帮忙 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 下面的代码是自己设定边距的,详细说明参考http://bingning.net/free/source/graphics/pagesetupdialogbug.htmlPageSetupDialog PageSetupDialog1 = new PageSetupDialog(); PageSetupDialog1.Document = new System.Drawing.Printing.PrintDocument(); //指定Margin PageSetupDialog1.PageSettings.Margins = new System.Drawing.Printing.Margins(100, 100, 100, 100); if (System.Globalization.RegionInfo.CurrentRegion.IsMetric) { PageSetupDialog1.PageSettings.Margins.Top = (int)Math.Round( PageSetupDialog1.PageSettings.Margins.Top * 2.54); PageSetupDialog1.PageSettings.Margins.Bottom = (int)Math.Round( PageSetupDialog1.PageSettings.Margins.Bottom * 2.54); PageSetupDialog1.PageSettings.Margins.Left = (int)Math.Round( PageSetupDialog1.PageSettings.Margins.Left * 2.54); PageSetupDialog1.PageSettings.Margins.Right = (int)Math.Round( PageSetupDialog1.PageSettings.Margins.Right * 2.54); } //表示页面设置窗体 if (PageSetupDialog1.ShowDialog() == DialogResult.OK) Console.WriteLine(PageSetupDialog1.PageSettings.Margins); else if (System.Globalization.RegionInfo.CurrentRegion.IsMetric) { //返回原设置 PageSetupDialog1.PageSettings.Margins.Top = (int)Math.Round( PageSetupDialog1.PageSettings.Margins.Top / 2.54); PageSetupDialog1.PageSettings.Margins.Bottom = (int)Math.Round( PageSetupDialog1.PageSettings.Margins.Bottom / 2.54); PageSetupDialog1.PageSettings.Margins.Left = (int)Math.Round( PageSetupDialog1.PageSettings.Margins.Left / 2.54); PageSetupDialog1.PageSettings.Margins.Right = (int)Math.Round( PageSetupDialog1.PageSettings.Margins.Right / 2.54); } 请问大牛,多线程网络爬虫的实现问题 错误1“项目.Form1.checkBox1”不可访问,因为它受保护级别限制. 怎么办? 问wince socket 模拟器和PC怎么设置连接 执行DOS命令的问题 .net如何格式化输出字符串!用format?(在账票中) 为什么我将窗体的AutoScroll属性设置为False了,窗体里面的控件还是可能会上移? 关于更新数据库,谢谢指点!!! 关于NULL的问题 纯C#程序大家帮助测试 关于线程的问题(传递参数) 求教详细的“水仙花”是什么和解法 很麻烦的问题,没思路。请教。请教。请教。请教。请教。请教。请教。请教。请教。
PageSetupDialog1.Document =
new System.Drawing.Printing.PrintDocument();
//指定Margin
PageSetupDialog1.PageSettings.Margins =
new System.Drawing.Printing.Margins(100, 100, 100, 100);
if (System.Globalization.RegionInfo.CurrentRegion.IsMetric)
{
PageSetupDialog1.PageSettings.Margins.Top =
(int)Math.Round(
PageSetupDialog1.PageSettings.Margins.Top * 2.54);
PageSetupDialog1.PageSettings.Margins.Bottom =
(int)Math.Round(
PageSetupDialog1.PageSettings.Margins.Bottom * 2.54);
PageSetupDialog1.PageSettings.Margins.Left =
(int)Math.Round(
PageSetupDialog1.PageSettings.Margins.Left * 2.54);
PageSetupDialog1.PageSettings.Margins.Right =
(int)Math.Round(
PageSetupDialog1.PageSettings.Margins.Right * 2.54);
}
//表示页面设置窗体
if (PageSetupDialog1.ShowDialog() == DialogResult.OK)
Console.WriteLine(PageSetupDialog1.PageSettings.Margins);
else if (System.Globalization.RegionInfo.CurrentRegion.IsMetric)
{
//返回原设置
PageSetupDialog1.PageSettings.Margins.Top =
(int)Math.Round(
PageSetupDialog1.PageSettings.Margins.Top / 2.54);
PageSetupDialog1.PageSettings.Margins.Bottom =
(int)Math.Round(
PageSetupDialog1.PageSettings.Margins.Bottom / 2.54);
PageSetupDialog1.PageSettings.Margins.Left =
(int)Math.Round(
PageSetupDialog1.PageSettings.Margins.Left / 2.54);
PageSetupDialog1.PageSettings.Margins.Right =
(int)Math.Round(
PageSetupDialog1.PageSettings.Margins.Right / 2.54);
}