在 ReportViewer C# 中更改打印按钮的行为
Change behaviour of Print button in ReportViewer C#
我正在使用 ReportViewer,我想打印我的报告。
当我单击打印按钮时,会打开一个对话框。类似这样。
我希望我的程序跳过此对话框并选择默认打印机。
有没有办法做以下事情之一:
- 直接跳过对话框
- 将打印按钮映射到我编写的函数,该函数打印报告而不显示对话框:类似于
myButton.Click += new EventHandler(myButton_Click);
我检查了 MSDN,但没有发现任何可以改变默认工具栏的东西。
编辑: 我确实找到了 2006 年的 this discussion,那里的答案基本上说这是不可能的。我想隐藏工具栏并创建我自己的工具栏将是一个解决方案,但它有点矫枉过正。
更新:这不是重复的。 我知道有一个问题叫做 "How to print a ReportViewer's report without showing a form",这个人希望能够在显示表格之间进行选择并打印报告。这不是我的问题。我确实想要显示表格,我希望当我点击“打印”按钮时,它会打印报告,而不问我使用哪台打印机.
我找到了解决办法!
更准确地说,我找到了一种解决方法,使您能够调用自定义打印函数。
您需要使用 ReportViewer 的 Print 事件。
然后您可以捕获该事件,取消它并调用您自己的打印函数:
myViewer.Print += new CancelEventHandler(myViewer_Print);
void myViewer_Print(object sender, CancelEventArgs e)
{
e.Cancel = true;
MyCustomPrintFunction();
}
我正在使用 ReportViewer,我想打印我的报告。
当我单击打印按钮时,会打开一个对话框。类似这样。
我希望我的程序跳过此对话框并选择默认打印机。
有没有办法做以下事情之一:
- 直接跳过对话框
- 将打印按钮映射到我编写的函数,该函数打印报告而不显示对话框:类似于
myButton.Click += new EventHandler(myButton_Click);
我检查了 MSDN,但没有发现任何可以改变默认工具栏的东西。
编辑: 我确实找到了 2006 年的 this discussion,那里的答案基本上说这是不可能的。我想隐藏工具栏并创建我自己的工具栏将是一个解决方案,但它有点矫枉过正。
更新:这不是重复的。 我知道有一个问题叫做 "How to print a ReportViewer's report without showing a form",这个人希望能够在显示表格之间进行选择并打印报告。这不是我的问题。我确实想要显示表格,我希望当我点击“打印”按钮时,它会打印报告,而不问我使用哪台打印机.
我找到了解决办法!
更准确地说,我找到了一种解决方法,使您能够调用自定义打印函数。
您需要使用 ReportViewer 的 Print 事件。
然后您可以捕获该事件,取消它并调用您自己的打印函数:
myViewer.Print += new CancelEventHandler(myViewer_Print);
void myViewer_Print(object sender, CancelEventArgs e)
{
e.Cancel = true;
MyCustomPrintFunction();
}