更改ReportViewer C#中的“打印”按钮的行为

时间:2015-05-12 11:01:07

标签: c# reportviewer

我正在使用ReportViewer,我想打印我的报告。

单击打印按钮时,将打开一个对话框。它与此类似。

excel print dialog box

我希望我的程序跳过此对话框并选择默认打印机。

有没有办法做以下事情之一:

  • 只需跳过对话框
  • 即可
  • 将打印按钮映射到我编写的函数,并打印报告而不显示对话框:类似于myButton.Click += new EventHandler(myButton_Click);

我检查了MSDN,但没有发现任何改变默认工具栏的内容。

编辑:我确实从2006年发现了this discussion,答案基本上说是不可能的。我想隐藏工具栏并创建我自己的工具将是一个解决方案,但它有点矫枉过正。

更新:这不是重复。我知道有一个问题叫"如何打印ReportViewer的报告而不显示表单",其中家伙希望能够在显示表格和打印报告之间进行选择。这不是我的问题。我想要显示表单,我希望当我点击“打印”按钮时,它会打印报告,而不会询问我使用哪种打印机

1 个答案:

答案 0 :(得分:1)

我找到了解决方案!

更确切地说,我找到了一种解决方法,可以让您调用自定义打印功能。

您需要使用ReportViewer的Print事件。

然后您可以捕捉事件,取消它并调用您自己的打印功能:

myViewer.Print += new CancelEventHandler(myViewer_Print);
void myViewer_Print(object sender, CancelEventArgs e)
{
    e.Cancel = true;
    MyCustomPrintFunction();
}