Visual Basic.NET - Problema al cambiar de pantalla

 
Vista:
sin imagen de perfil
Val: 28
Ha disminuido su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema al cambiar de pantalla

Publicado por Adolfo (55 intervenciones) el 03/06/2012 19:53:07
Tengo el siguiente problema:

Desde la pantalla de facturacion, en un combo box de empleados, selecciono un empleado differente y debe mostrar la pantalla de contraseña para berifica la contraseña del nuevo empleado que ba a usar el sistema.
Hasta hay todo esta bien, en la pantalla de contraseña digito el condigo de usuario y su respectiva contraseña, pero cuando preciono el boton "Aceptar" en ves de regresar a la pantalla de facturacion, me cierra el programa, y no se que es lo que lo causa.

El codigo entre asteriscos mas abajo es donde me cierra la aplicacion en ves de proceder a mostrar la pantalla de facturacion.
Cualquier sugerencia seria aseptada, muchas gracias.

Adolfo


Private Sub CBEmpleados_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CBEmpleados.SelectedIndexChanged
'****************************************************************************************************
'Muestra la pantalla de contraseña para cambiar de usuario.
'****************************************************************************************************

If VarCambioUsuario = 0 Then
VarPantallaActiva = 1
FRMContraseña.TxtNombreUsuario.Focus()
FRMContraseña.ShowDialog(Me)
TxtNumPlaca.Focus()
Else
VarCambioUsuario = 0
Exit Sub
End If

End Sub





Private Sub BtnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAceptar.Click
'*********************************************************************************************
' Verifica la clave digitada en la parte superior de la pantalla y procede a abrir la pantalla que corresponda.
'*********************************************************************************************

EncryptText(TxtContraseña.Text, "hola") 'Encripta la contraseña digitada en el campo TxtContraseña
VarClave = TxtContraseña.Text

Dim VarContraseñaTB As String
VarContraseñaTB = m_DataTable.Rows(m_rowPosition)("ContraseñaEmp").ToString() 'Lee la contraseña de la tabla TBEmpleados
VarNombreEmpClave = m_DataTable.Rows(m_rowPosition)("NombreEmp").ToString() 'Lee el nombre del empleado de la tabla TBEmpleados

If TxtContraseña.Text <> VarContraseñaTB And TxtContraseña.Text <> "²»­½¼®¶»‡‚" Then ' Verifica si la contraseña en la tabla TBEmpledos es <> a la contraseña digitada en el campo TxtContraseña.text, y difference a "C...86"
MessageBox.Show("La contraseña digitada es incorrecta, porfavor intente de nuevo.", "Error.", MessageBoxButtons.OK, MessageBoxIcon.Stop)
TxtContraseña.Text = ""
TxtContraseña.Focus()
VarContador += 1

If VarContador = 3 Then
MessageBox.Show("Ha fallado 3 veces la contraseña, por favor contacte al administrador del sistema para asistencia. Este programa se cerrará.", "Error.", MessageBoxButtons.OK, MessageBoxIcon.Stop)
Me.Close()
End If
Exit Sub
Else
VarRolTB = m_DataTable.Rows(m_rowPosition)("RolEmp").ToString() 'Lee el Rol de la tabla TBEmpleados

If VarPantallaActiva = 1 Then 'Pantalla llamada desde FRMFacturacion para cambiar de usuario.
VarPantallaActiva = 0

If VarRolTB = 1 Or VarRolTB = 2 Or TxtContraseña.Text = "²»­½¼®¶»‡‚" Then
ProcLimpiaCampos()

' Aqui es donde esta el problema, en ves de regresar a la pantalla de facturaicon, me cierra el programa.
*****************************

FRMFacturacion.CBEmpleados.Text = VarNombreEmpClave
FRMFacturacion.Show()
Me.Visible = False
' Me.Hide()
*****************************

end if
end if
End If
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema al cambiar de pantalla

Publicado por CatLart (5 intervenciones) el 06/06/2012 12:07:24
Hola... si no voy mal... FRMFacturacion está siempre abierto y abre el formulario de forma modal. Prueba el siguiente código

1
2
FRMFacturacion.CBEmpleados.Text = VarNombreEmpClave
Me.Close



Sólo debe cerrar el formulario de la contraseña, y el formulario que le ha llamado debe coger el foco.
Aún así puedes forzarlo con un BringToFront por si acaso, pero yo he probado y me funciona sólo con esas 2 líneas de código.

Espero que te sirva de ayuda.

CatLart

http://anecdotasdeuninformatico.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 28
Ha disminuido su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema al cambiar de pantalla

Publicado por Adolfo (55 intervenciones) el 09/06/2012 18:14:40
Gracias, ya encontre el problema, lo solucione sigiendo estas instrucciones:

http://fermasmas.wordpress.com/2012/02/02/cmo-abrir-un-formulario-y-cerrar-el-padre-en-vb-net/

Espero le sirva a laguien mas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar