none
Cancelar la carga de un formulario RRS feed

  • Pregunta

  • Buenas.

    Estoy con un problema y necesito una ayuda.

    Tengo un formulario frmBase, todo mis otros formularios son heredados de este.

    En la aplicacion tengo un login, en donde ingresan Usuario y Contraseña. Y tengo en la Base los nombre de los formularios y usuarios y sus respectivos permisos.

    Entonces, en el Load del frmBase tengo lo siguiente:

    Private Sub frmBase_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ComprobarPermiso(Id_Usuario_Form, Me.Name)
    End Sub

    Private Sub ComprobarPermiso(ByRef Usuario As Integer, ByRef nForm As String)

            Dim func As New UsuarioDAL
            Dim Permiso As DataTable = func.Comprobar_Permiso(Usuario, nForm)

            If Permiso.Rows.Count > 0 Then
                If Not Permiso.Rows(0).Item("Permiso") Then
                    Me.Close()
                End If

            End If

    End Sub

    Entonces, en la base, un usuario no tiene permiso para poder abrir este formulario, frmPersonal

    Pero el Formulario frmPersonal, en el load tiene est

        Private Sub frmPersonal_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

            Mostrar()

        End Sub

    Y me trae problemas.

    Como puedo hacer que directamente no siga cargando el formulario frmPersonal o como lo podria implementar, desde ya muchas gracias!!!!!!!!!!!!

    jueves, 17 de agosto de 2017 21:00

Respuestas

  • Yo haria:

    ComprobarPermiso(Id_Usuario_Form, Me.Name)  As Boolean

    En vez de Me.Close poner Return False

    Y en Load:

    Private Sub frmBase_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        if not ComprobarPermiso(Id_Usuario_Form, Me.Name) then
            Me.close()
            exit sub
        end if
    End Sub
    exit sub hará que no continue ejecutando Mostar()


    viernes, 18 de agosto de 2017 9:44