Ups!, disculpen, me equivoque no funciona de la manera en que habia puesto en el post anterior.

Intente de otra forma y tampoco funciono,
Código vb.net:
Ver originalPrivate Sub nueva_factura_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Dim dlgRes As DialogResult
dlgRes = MessageBox.Show("Desea Cerrar y Guardar los Cambios Efectuados?", "Confirmar", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If e.CloseReason = CloseReason.UserClosing Then
If dlgRes = Windows.Forms.DialogResult.Yes Then
Dim valor As Boolean
valor = btnGuardar()
If valor = True Then
Me.Dispose()
End If
If valor = False Then
e.Cancel = True
End If
End If
If dlgRes = Windows.Forms.DialogResult.No Then
Me.Dispose()
End If
End If
End Sub
y el boton guardar lo hago de esta manera
Código vb.net:
Ver originalPrivate Sub guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles guardar.Click
If String.IsNullOrEmpty(txCodigoCli.Text) Then
ep.SetError(txCodigoCli, "Ingrese un Cliente")
If ListView1.Items.Count - 1 < 0 Then
MessageBox.Show("Ingrese una Linea de Detalle ", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End If
Exit Sub
End If
ep.Clear()
If ListView1.Items.Count - 1 < 0 Then
MessageBox.Show("Ingrese una Linea de Detalle ", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
If String.IsNullOrEmpty(txCodigoCli.Text) Then
ep.SetError(txCodigoCli, "Ingrese un Cliente")
Exit Sub
End If
Exit Sub
End If
ep.Clear()
Dim iva As String = obtenerIVA().ToString
iva = iva * 100
total = CalculaTotal()
Dim IdFactura As Integer = ingresar_factura(txCodigoCli.Text, txFecha.Text, total, txtOrden.Text, txtObs.Text, iva)
Dim fila As Integer
For fila = 0 To ListView1.Items.Count - 1
Dim codProd As String = ListView1.Items(fila).SubItems(0).Text
Dim cantidad As String = ListView1.Items(fila).SubItems(3).Text
Dim precio As String = ListView1.Items(fila).SubItems(4).Text
Dim obs As String = ListView1.Items(fila).SubItems(6).Text
ingresar_detalle(codProd, IdFactura.ToString, precio, cantidad, obs)
Next
Me.Dispose()
End Sub
Espero me puedan ayudar y disculpen que moleste tanto.
Gracias