gpt4 book ai didi

c# - 如何将打印对话框添加到打印预览对话框?

转载 作者:太空狗 更新时间:2023-10-30 00:09:58 26 4
gpt4 key购买 nike

我的老板要我创建具有打印功能的窗体,但他想在预览后打印 datagridview

所以现在我鼓励这个问题,当我点击printpreviewdialog上的打印按钮时,我无法打印多套纸或选择打印机或进行任何更改。当我点击按钮时,它会直接打印纸。所以我想加入printpreviewdialogprintdialog

为什么printpreviewdialogprintdialog 只能用在不同的按钮上?当需要单击一个按钮进行预览并单击另一个按钮进行多组打印和更改打印机时,缺乏可用性。

谁能帮帮我?

打印对话框

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();

最佳答案

我知道已经晚了,但我认为有人仍然需要它。正如 Hans Passant 所说,“打印预览在很大程度上取决于打印机和页面设置。”但是在printpreviewdialog中有一个print-button,对于大部分情况还是合理的。但是该按钮直接打印到您的默认打印机,并且从不显示对话框。如果你想要打印预览对话框中的打印对话框,你可以只操作 PrintPreviewDialog 的 ToolStrip。

开始了(假设您初始化了 printPreviewDialog1、printDialog1 和 printDocument1 对象)

printPreviewDialog1.Document = printDocument1;
ToolStripButton b = new ToolStripButton();
b.Image = Properties.Resources.PrintIcon;
b.DisplayStyle = ToolStripItemDisplayStyle.Image;
b.Click += printPreview_PrintClick;
((ToolStrip)(printPreviewDialog1.Controls[1])).Items.RemoveAt(0);
((ToolStrip)(printPreviewDialog1.Controls[1])).Items.Insert(0, b);
printPreviewDialog1.ShowDialog();

使用上面的代码,您可以删除 PrintPreview 的 ToolStrip 上的默认打印按钮,并将其替换为新创建的“打印按钮”。此按钮现在有一个 Click 事件处理程序,通过使用它,您可以显示 PrintDialog。

private void printPreview_PrintClick(object sender, EventArgs e)
{
try
{
printDialog1.Document = printDocument1;
if (printDialog1.ShowDialog() == DialogResult.OK)
{
printDocument1.Print();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, ToString());
}
}

关于c# - 如何将打印对话框添加到打印预览对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40236241/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com