You also might consider doing the save in the childform like so
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
Me.ContactResultsBO1.Undo(MicroFour.StrataFrame.Business.BusinessUndoType.CurrentRowOnly)
Me.DialogResult = Windows.Forms.DialogResult.Cancel
End Sub
Private Sub btn_Save(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Me.ContactResultsBO1.Save()
Me.DialogResult = Windows.Forms.DialogResult.OK
End Sub
and then in the form with the listview
Private Sub lvContactResults_ChildFormResults(ByVal sender As Object, ByVal e As MicroFour.StrataFrame.UI.Windows.Forms.ListViewChildFormResultsEventArgs) _
Handles lvContactResults.ChildFormResults
' Reads the return value from the ContactResults form and if the ADD has not been cancelled, requeries the
' listview to display the new record
If e.Results = Windows.Forms.DialogResult.OK Then
e.Requery = True
End If
End Sub
This way you are doing your save and cancels in the BO on the childform so you don't have to depend on the translation back to the calling form and you can handle the refreshing of the listview in the calling form itself ( and then you don't need the code you posted )