PageSetupDialog.PageSetting.PageSize.Kind 的属性是只读,即无法改变的:在页面设置对话框中的打印纸大小选项中的选项是只可以获取,而不可以设置的,而通过设置打印纸大小的方法,我今天上午试图来解决这个问题,可还是没有成功,不知道还有没有其他的方式呢?
解决方案 »
- adapter.Update?
- 文件传输中如何分片
- 获取ASP.net页面上的时间差
- c#.net 画面调整
- 急救,考试题目马上交卷了,
- 关联文件如何自动打开?
- 用c#调用自编的COM时,发生 "Name <错误: 发生 {System.NullReferenceException} 类型的异常> string",什么意思?
- HtmlAgilityPack读取数据通过文件流写入到txt中
- 如何将dataset的表赋给dataAdapter
- 再问一个DataGrid的问题。
- WinForm里如何总是选定DataGrid的某一行?(立即给分)
- 在c#中的 ContextMenu的每个项能添加图标吗
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));