none
Colocar * a textbox vacios RRS feed

  • Pregunta

  • Hola estoy trabjando con visual.net .Estoy haciendo unos formularios winforms y deseo saber como poder colocar un asterisco rojo (haciendo relacion a campos obligatorios) cuando estos no son correctos.Para que los inserte bien un usuario.
    domingo, 15 de abril de 2007 23:00

Respuestas

  • Hola a Todos!!

    Y si lo quieres muy sencillo... solo tienes que arrastrar el 'textbox' y el 'errorprovider' de la 'caja de herramientas' al form, luego en el evento de 'Validate' del textbox...

     

    Code Snippet

    Private Sub Validar(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Validated

     If Me.TextBox1.Text.Length < 1 Then

          Me.ErrorProvider1.SetError(Me.TextBox1, "Campo Obligatorio!!")

          'volver el foco al textbox1

          Me.TextBox1.Select()

      Else

          Me.ErrorProvider1.SetError(Me.TextBox1, "")

     End If

    End Sub

     

    Solo un detalle mas, puedes decidir cuando vas ha efectuar la verificacion de los textbox's implicados, o bien uno a uno en el evento 'validate' o cuando te pulsen un boton...

     

    Code Snippet

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

     

            'Verificar TextBox1

            If Me.TextBox1.Text.Length < 1 Then

                Me.ErrorProvider1.SetError(Me.TextBox1, "Esta vacio!")

            Else

                Me.ErrorProvider1.SetError(Me.TextBox1, "")

            End If

            'Verificar TextBox2

            If Me.TextBox2.Text.Length < 2 Then

                Me.ErrorProvider1.SetError(Me.TextBox2, "Longitud Minima!")

            Else

                Me.ErrorProvider1.SetError(Me.TextBox2, "")

            End If

        End Sub

     

     

    Saludos,

    Pep Lluis,

    lunes, 16 de abril de 2007 14:14
    Moderador

Todas las respuestas

  •  

    Hola,

     

    Echale un ojo a este enlace:

     

    http://www.codeproject.com/cs/miscctrl/validationprovider.asp?msg=1986970

     

    Un saludo.

    lunes, 16 de abril de 2007 6:28
    Moderador
  • Javier, corrígeme si me equivoco, pero el artículo de CodeProject que enlazas no está usando los componentes que vienen de serie con VS2005, no?

     

    Yo por si acaso, te enlazo un ejemplo de la web de Microsoft:

    http://msdn2.microsoft.com/en-us/library/system.windows.forms.errorprovider.aspx

     

    Un saludo!

    lunes, 16 de abril de 2007 12:21
    Moderador
  •  

    Hola Toni,

     

    Pues sinceramente... ni me he fijado jejejeje

     

    Yo es que soy de web... y directamente he buscado por "winform validators" en el google... teniendo la esperanza de que ese link explicaba los controles del .net jejejeje

     

    fallo mio por no mirarlo mas a fondo...  ... esto me pasa por levantarme tan pronto jajajajaja, que luego estoy en la parra.

     

    Un saludo.

    lunes, 16 de abril de 2007 13:34
    Moderador
  • Hola a Todos!!

    Y si lo quieres muy sencillo... solo tienes que arrastrar el 'textbox' y el 'errorprovider' de la 'caja de herramientas' al form, luego en el evento de 'Validate' del textbox...

     

    Code Snippet

    Private Sub Validar(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Validated

     If Me.TextBox1.Text.Length < 1 Then

          Me.ErrorProvider1.SetError(Me.TextBox1, "Campo Obligatorio!!")

          'volver el foco al textbox1

          Me.TextBox1.Select()

      Else

          Me.ErrorProvider1.SetError(Me.TextBox1, "")

     End If

    End Sub

     

    Solo un detalle mas, puedes decidir cuando vas ha efectuar la verificacion de los textbox's implicados, o bien uno a uno en el evento 'validate' o cuando te pulsen un boton...

     

    Code Snippet

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

     

            'Verificar TextBox1

            If Me.TextBox1.Text.Length < 1 Then

                Me.ErrorProvider1.SetError(Me.TextBox1, "Esta vacio!")

            Else

                Me.ErrorProvider1.SetError(Me.TextBox1, "")

            End If

            'Verificar TextBox2

            If Me.TextBox2.Text.Length < 2 Then

                Me.ErrorProvider1.SetError(Me.TextBox2, "Longitud Minima!")

            Else

                Me.ErrorProvider1.SetError(Me.TextBox2, "")

            End If

        End Sub

     

     

    Saludos,

    Pep Lluis,

    lunes, 16 de abril de 2007 14:14
    Moderador
  • Hola a Todos , grax por la ayuda .Deveras me sirvio muchisimo .......

     

     

     

     

     

    lunes, 16 de abril de 2007 15:46
  • ups,se me olvidaba algo . Si bien ahora me resulta lo del errorprovider  ,tengo una duda .

     

    Si hay dos textbox que son erroreneos y fueron marcados con errorprovider y yo corrigo solo uno y hago el evento click deveria  tomar erroneo solo el que no corregi, el problema que el icono de error provider me sale en las dos caja. ¿Como le puedo sacar el icono luego de haber corregido el textbox? . Trate de haerlo de las siguentes formas.

     

    Code Snippet

    If TextBox1.Text = " " Then

    TextBox1.Focus()

    Me.ErrorProvider1.SetError(Me.TextBox1, "Debes completar Todos los Datos!")

    Else

    ' limpiar error.

    'Me.ErrorProvider1.SetError(Me.TextBox1, " ")

    'TextBox1.Refresh()

     

     

     Como se realiza de forma correcta?

    lunes, 16 de abril de 2007 17:01
  • Hola Coala,

    No debes utilizar un espacio en blanco entre comillas... 'Me.ErrorProvider1.SetError(Me.TextBox1, " ")

    Deben ser justo doble comillas... 'Me.ErrorProvider1.SetError(Me.TextBox1, "")

     

    Es un simple detalle!

    Pep Lluis,

     

    lunes, 16 de abril de 2007 17:12
    Moderador
  • aps, Ahora se.

     

    Muchas grax Pep Lluis

    lunes, 16 de abril de 2007 17:41
  • Hola se que este post esta cerrado pero es que me va como anillo al dedo.

     

    Resulta que estoy realizado un Winform que valida la entrada de información y cuando se tecleas información que no es la correcta, utiliza un errorProvider marcando el error. Hasta aqui todo perfecto, el problema es que si el usuario presiona el boton de grabar, no tengo forma de localizar el error. He probado la propiedad Me.Valdate del formulario como explican en la aplicación de MSDNVideo, pero esta en siempre a True, por lo tanto pasa a enviar la información a la BD.

     

    Alguien me podria decir que estoy haciendo mal.

     

    Gracias.

    lunes, 19 de noviembre de 2007 18:36
  • Supongo que no estas utilizando el evento 'validating' o 'validated' pero del control en question (textbox..combo,etc), pues el me.Validate solo sirve cuando pierdes o cierras el form... si es asi necesitas un ejemplo?

    Espero tus noticias,

    Pep Lluis,

     

     

    martes, 20 de noviembre de 2007 16:13
    Moderador
  • Bueno el ejemplo seria igual que el ejemplo de MSDN cuando crean clientes. La propiedad Me.Validate yo suponia que guardaria el posible error controlado en las eventos de Validated o Validating. La solución que se me ha ocurrido es recorrer el formulario localizando los Textbox y averiguando si el ErrorProvider.setError(textbox) contiene error.

     

    No se si existirá otra forma mejor.

     

    P.D.: Perdon por tardanza.

     

    jueves, 22 de noviembre de 2007 21:06