Захватить печать отчета «Печать» Кнопка в отчетах Crystal - PullRequest
0 голосов
/ 31 мая 2018

Итак, у меня возникла проблема, когда я хочу зафиксировать кнопку печати в кнопке печати отчета в отчете Crystal.Как это сделать?

Пользователь нажимает кнопку «Печать отчета» в отчете «Кристалл», как показано на первом изображении. Страница печати появится, как показано на втором изображении

enter image description here

enter image description here

Поэтому, когда пользователь нажимает кнопку печати, я хочу сделать что-то вроде окна сообщения и выполнить запросв моем проекте vb.Как захватить кнопку «Печать»?

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Вы можете сделать это!Требования: C # (но вы можете перейти на VB.NET), Visual Studio 2015, платформа WPF Где: [GenericReportViewer] это ваш отчет о кристалле компонента

private void GenericReportViewer_Loaded(object sender, RoutedEventArgs e){
//where: GenericReportViewer thats it name your crystal report component
 System.Windows.Controls.Button button = GenericReportViewer.FindName("btnPrint") as 
 System.Windows.Controls.Button;
      button.Click += MyMethod;
  }

private void MyMethod(object sender, RoutedEventArgs e){

   //Your code here 

  }
0 голосов
/ 31 мая 2018

вы можете попробовать это решение:

Private Sub Frm_stampa_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     ' Hide default button
    crv_stampa.ShowPrintButton = False

    ' New print button
    For Each ctrl As Control In crv_stampa.Controls
        If TypeOf ctrl Is Windows.Forms.ToolStrip Then
            Dim btnNew As New ToolStripButton
            btnNew.Text = "Print"
            btnNew.ToolTipText = "Print"
            btnNew.Image = My.Resources.stampa
            btnNew.DisplayStyle = ToolStripItemDisplayStyle.Image

            CType(ctrl, ToolStrip).Items.Insert(0, btnNew)

            AddHandler btnNew.Click, AddressOf tsItem_Click
        End If
    Next
    ' ---------------------------------------------
End Sub



Private Sub tsItem_Click(sender As System.Object, e As System.EventArgs)

    ' Put your code here, before print

    Dim PrintDialog As New PrintDialog()

    If PrintDialog.ShowDialog = Windows.Forms.DialogResult.OK Then

        rpt.PrintOptions.PrinterName = PrintDialog.PrinterSettings.PrinterName

        rpt.PrintToPrinter(PrintDialog.PrinterSettings.Copies, PrintDialog.PrinterSettings.Collate, PrintDialog.PrinterSettings.FromPage, PrintDialog.PrinterSettings.ToPage)

    End If

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...