none
Validating windowform RRS feed

  • Pregunta

  • Hola amigos del foro,

    tengo una duda y quisiera que me pudiesen dar una manito con este rema.

    Tengo un formulario que es el hilo principal de mi programa. se llama frmInicioSesion y tiene las siguientes configuraciones para efectos del funcionamiento del errorprovider:

    Autovalidate=Disable

    CausesValidation:False

    Dos textbox que tiene los siguiente eventos :

      Private Sub txtUser_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles txtUser.Validating
            if string.IsNullOrEmpty(DirectCast(sender,TextBox).Text) Then
                ErrorProvider1.SetError(sender,"Campo no debe quedar en blanco")
                e.Cancel=True
            Else
                 ErrorProvider1.SetError(sender,Nothing)
            End If
        End Sub
    
        Private Sub txtPass_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles txtPass.Validating
            if String.IsNullOrEmpty(DirectCast(sender,TextBox).Text) Then
                ErrorProvider1.SetError(sender,"Campo no debe quedar en blanco")
                e.Cancel=True
            Else
                 ErrorProvider1.SetError(sender,Nothing)
            End If
        End Sub

    y un botón que tiene la propiedad CausesValidation=true y la siguiente sintaxis que se ejecutar  al hacer click :

        Private Sub btnIngresar_Click(sender As Object, e As EventArgs) Handles btnIngresar.Click
    
           if (HayInternet()) Then
                ingresar()
               Else
               lblSinConexion.Visible=True
             End If
    
        End Sub

    Lo que no e podido lograr es que al hacer clic al botón primero se activen los eventos validating de los textbox.

    muchas gracias.



    Saludos desde Chile.

    martes, 25 de octubre de 2016 0:12

Respuestas

  • Hola:

     podrias intentar algo como esto.

    Private Sub Validar() AS Boolean
    	Dim result AS Boolean
    	result = True
    	if string.IsNullOrEmpty(DirectCast(sender,TextBox).Text) Then
           ErrorProvider1.SetError(sender,"Campo no debe quedar en blanco")
           result =  false
        Else
            ErrorProvider1.SetError(sender,Nothing)		
        End If
    	
    	if String.IsNullOrEmpty(DirectCast(sender,TextBox).Text) Then
            ErrorProvider1.SetError(sender,"Campo no debe quedar en blanco")
            result = False
        Else
             ErrorProvider1.SetError(sender,Nothing)
        End If
    	
    	Return result
    End Sub
    
    
    Private Sub btnIngresar_Click(sender As Object, e As EventArgs) Handles btnIngresar.Click
    
    	If(Validar())Then
    	
           if (HayInternet()) Then
                ingresar()
               Else
               lblSinConexion.Visible=True
             End If
    	End If
    
    End Sub
    Espero te sea de utilidad.



    Saludos desde Monterrey, Nuevo León, México!!!

    martes, 25 de octubre de 2016 2:15
  • Hola:
    Prueba esto.

     Private Sub btnIngresar_Click(sender As Object, e As EventArgs) Handles btnIngresar.Click
        If Me.ValidateChildren = False Then
            MessageBox.Show("Datos erroneos", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Return
        End If
        if (HayInternet()) Then
             ingresar()
        Else
            lblSinConexion.Visible=True
        End If
     End Sub

    Un saludo desde Bilbo
    Carlos

    martes, 25 de octubre de 2016 20:39

Todas las respuestas

  • Hola:

     podrias intentar algo como esto.

    Private Sub Validar() AS Boolean
    	Dim result AS Boolean
    	result = True
    	if string.IsNullOrEmpty(DirectCast(sender,TextBox).Text) Then
           ErrorProvider1.SetError(sender,"Campo no debe quedar en blanco")
           result =  false
        Else
            ErrorProvider1.SetError(sender,Nothing)		
        End If
    	
    	if String.IsNullOrEmpty(DirectCast(sender,TextBox).Text) Then
            ErrorProvider1.SetError(sender,"Campo no debe quedar en blanco")
            result = False
        Else
             ErrorProvider1.SetError(sender,Nothing)
        End If
    	
    	Return result
    End Sub
    
    
    Private Sub btnIngresar_Click(sender As Object, e As EventArgs) Handles btnIngresar.Click
    
    	If(Validar())Then
    	
           if (HayInternet()) Then
                ingresar()
               Else
               lblSinConexion.Visible=True
             End If
    	End If
    
    End Sub
    Espero te sea de utilidad.



    Saludos desde Monterrey, Nuevo León, México!!!

    martes, 25 de octubre de 2016 2:15
  • Hola:
    Prueba esto.

     Private Sub btnIngresar_Click(sender As Object, e As EventArgs) Handles btnIngresar.Click
        If Me.ValidateChildren = False Then
            MessageBox.Show("Datos erroneos", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Return
        End If
        if (HayInternet()) Then
             ingresar()
        Else
            lblSinConexion.Visible=True
        End If
     End Sub

    Un saludo desde Bilbo
    Carlos

    martes, 25 de octubre de 2016 20:39
  • Muchas gracias a todos.

    Saludos desde Chile.

    viernes, 7 de julio de 2017 18:07