Yes! Just Call CheckForIllegalCrossThreadCalls before asking if invoke is required an don't use it
Private Sub ShowAllInternationalCalls()
Dim myDoc as New CrystalDecisions.CrystalReports.Engine.ReportDocument
MyDoc= New rpt_rated_allcalls()
EmpTableAdapter.FillBy_All_Employees(Me.DataSet.Employees)
rptDoc.SetDataSource(DataSet)
CheckForIllegalCrossThreadCalls = False
CrystalViewer.ReportSource = rptDoc
End Sub
If you prefer to do it the way you want (checking if invoke is required)
then refactor this part of code
If CrystalViewer.InvokeRequired Then
Dim newDelegate As New UIDelegate(AddressOf ShowAllInternationalCalls)
CrystalViewer.Invoke(newDelegate)
Else
CrystalViewer.ReportSource = rptDoc
End If
to a new method.