【发布时间】:2016-10-25 09:28:04
【问题描述】:
我的老板要我创建具有打印功能的窗体,但他想在预览后打印datagridview。
所以现在我鼓励这个问题,当我点击printpreviewdialog上的打印按钮时,我无法打印多组纸张或选择打印机或进行任何更改。当我点击按钮时,它将直接打印纸张。所以我想加入printpreviewdialog和printdialog。
为什么printpreviewdialog 和printdialog 只能用于不同的按钮?在需要单击一个按钮预览并单击另一个按钮打印多组和更改打印机时缺乏可用性。
谁能帮帮我?
打印对话框
DialogResult result = printDialog1.ShowDialog();
// If the result is OK then print the document.
if (result == DialogResult.OK)
{
position = 0;
pageno = 1;
printDocument2.DefaultPageSettings.Margins = new Margins(20, 20, 20, 20);
printDocument2.OriginAtMargins = true;
printPreviewDialog1.Document = printDocument2;
printPreviewDialog1.ShowDialog();
}
打印预览对话框
printDocument3.DefaultPageSettings.Margins = new Margins(20, 20, 20, 20);
printDocument3.OriginAtMargins = true;
//((ToolStripButton)((ToolStrip)printPreviewDialog1.Controls[1]).Items[0]).Enabled = false;
printPreviewDialog1.Document = printDocument3;
printPreviewDialog1.ShowDialog();
【问题讨论】:
-
我不太确定你的目标是什么。您想单击启动打印对话框并将其中的所有更改反映到预览中吗?所以你同时启动两个窗口?
-
习惯上在查看预览之前选择纸张尺寸和打印机。鉴于预览将在很大程度上取决于纸张尺寸和打印机功能。这就是 PrintPreviewDialog 没有这些按钮的原因。使用 PrintPreviewControl 制作您自己的自定义对话框,但请考虑一下。
标签: c# printing datagridview