C# 显示用户打印预览,并在用户打印时执行代码
我有一个位图,我想让用户在打印前看到它。所以我为他打开打印预览,如果用户决定打印,我想执行一些代码 问题是,C# 显示用户打印预览,并在用户打印时执行代码,c#,.net,winforms,bitmap,print-preview,C#,.net,Winforms,Bitmap,Print Preview,我有一个位图,我想让用户在打印前看到它。所以我为他打开打印预览,如果用户决定打印,我想执行一些代码 问题是,printPreviewDialog不会返回答案。这可能是因为它只有一个打印按钮和关闭按钮,但没有打印和关闭按钮,所以我可以知道用户决定打印 如果你有解决办法,我会很高兴,如果你认为这不是最好的办法,请告诉我 代码: 订阅要发送到printPreviewDialog控件的文档的EndPrint事件,然后在其PrintEventArgs参数中检查PrintAction 例如: private
printPreviewDialog
不会返回答案。这可能是因为它只有一个打印按钮和关闭按钮,但没有打印和关闭按钮,所以我可以知道用户决定打印
如果你有解决办法,我会很高兴,如果你认为这不是最好的办法,请告诉我
代码:
订阅要发送到
printPreviewDialog
控件的文档的EndPrint
事件,然后在其PrintEventArgs
参数中检查PrintAction
例如:
private void buttonPrintPreview_Click(object sender, EventArgs e)
{
PrintPreviewDialog printDialog = new PrintPreviewDialog();
printDialog.Document = yourDocument;
yourDocument.EndPrint += doc_EndPrint; // Subscribe to EndPrint event of your document here.
printDialog.ShowDialog();
}
void doc_EndPrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
if (e.PrintAction == System.Drawing.Printing.PrintAction.PrintToPrinter)
{
// Printing to the printer!
}
else if (e.PrintAction == System.Drawing.Printing.PrintAction.PrintToPreview)
{
// Printing to the preview dialog!
}
}
你能提供你尝试过的代码吗?是的,我刚刚编辑了我的问题
private void buttonPrintPreview_Click(object sender, EventArgs e)
{
PrintPreviewDialog printDialog = new PrintPreviewDialog();
printDialog.Document = yourDocument;
yourDocument.EndPrint += doc_EndPrint; // Subscribe to EndPrint event of your document here.
printDialog.ShowDialog();
}
void doc_EndPrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
if (e.PrintAction == System.Drawing.Printing.PrintAction.PrintToPrinter)
{
// Printing to the printer!
}
else if (e.PrintAction == System.Drawing.Printing.PrintAction.PrintToPreview)
{
// Printing to the preview dialog!
}
}