2015-05-12 60 views
2

我正在使用ReportViewer並打印我的報告。在ReportViewer C中更改打印按鈕的行爲#

當我點擊打印按鈕時,會打開一個對話框。這與此類似。

excel print dialog box

,我想我的程序跳過此對話框,選擇默認打印機。

有沒有辦法做以下的事情之一:

  • 只跳過對話框
  • 地圖打印按鈕,我寫了一個功能和打印報告不顯示該對話框:類似的東西myButton.Click += new EventHandler(myButton_Click);

我檢查了MSDN,但沒有發現任何改變默認的工具欄。


編輯:我的確從2006年,其中一個答案基本上說,這是不可能找到this discussion。我想隱藏工具欄和創建我自己的將是一個解決方案,但它有點矯枉過正。

更新:這不是重複的。我知道有一個問題叫做「如何在不顯示錶單的情況下打印ReportViewer的報告」,其中人員希望能夠在顯示錶單和打印報告之間進行選擇。這不是我的問題。我想要顯示的形式,我希望當我點擊打印按鈕,它打印報告,而不問我要使用哪臺打印機

+0

不可能的,因爲它使用的是具有這種功能,並沒有暴露在直接打印到默認打印機控制。唯一的方法是不使用報告查看器並創建自己的控件 –

回答

1

我找到了解決方案!

更準確地說,我找到了一種解決方法,使您可以調用自定義打印功能。

您需要使用ReportViewer的Print事件。

然後,您可以捕捉事件,取消它,並調用自己的打印功能:

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