C# 如何知道CrystalReport预览是否已关闭

C# 如何知道CrystalReport预览是否已关闭,c#,.net,vb.net,crystal-reports,C#,.net,Vb.net,Crystal Reports,我使用以下VB代码创建Crystal Reports预览: Public Sub ShowReport(ByRef R As CrystalDecisions.CrystalReports.Engine.ReportClass, ByVal Page As Byte, ByVal Grup As Boolean, Optional ByVal Rate As Integer = 0) Dim formula As String = R.RecordSelectionFormula

我使用以下VB代码创建Crystal Reports预览:

Public Sub ShowReport(ByRef R As CrystalDecisions.CrystalReports.Engine.ReportClass, ByVal Page As Byte, ByVal Grup As Boolean, Optional ByVal Rate As Integer = 0)
        Dim formula As String = R.RecordSelectionFormula
        R.DataSourceConnections(0).SetConnection(PrmServer(), PrmDatabase(), True)
        R.RecordSelectionFormula = formula
        Dim f As New RptPreview
        f.Crw.ReportSource = R

        f.Tag = Grup

        f.Show()

    End Sub

我想知道用户何时关闭报表预览,以便我执行一些操作。是否有类似于f.PreviewClosed的函数?谢谢。

如果您不打算修改报告本身,或者如果用户在预览后不需要再次查看报告,则可以将CrystalReportViewer对象放入新表单中。此时,您可以将窗体作为模式打开并在其关闭后执行操作,也可以捕获窗体的关闭事件。不过,还有一些问题需要考虑。关闭表单时,将处理报表本身。如果您不打算修改报表本身,或者用户在预览后不需要再次查看报表,则可以将CrystalReportViewer对象放入新表单中。此时,您可以将窗体作为模式打开并在其关闭后执行操作,也可以捕获窗体的关闭事件。不过,还有一些问题需要考虑。报表本身将在窗体关闭时处理。