none
escribir en un textbox desde los valores de un maskettexbox RRS feed

  • Pregunta

  • tengo 2 maskedtextbox y 2 textbox

    maskedtextbox1        maskedtexbox2

    10/02/2016                 02/02/2017

    textbox1                    textbox2

    octubre 2016               Febrero 2017

    lo que quiero es que cuando yo escriba algo en el maskedtexbox1 osea textchanged o algo asi automaticamente se rellene el textbox1 con el mes y el ano que corresponde al maskedtextbox1 fijense que la fecha en ingles del maskedtextbox1 es 2 de octubre de 2016 (10/02/2016) y lo que quiero es que ella vea esa fecha corta y ponga solo el mes y el ano que corresponde a esa fecha corta en el textbox1 y lo mismo para el maskedtextbox y el textbox2


    • Editado Efrain Diaz jueves, 1 de diciembre de 2016 21:31
    jueves, 1 de diciembre de 2016 21:31

Respuestas

  • Hola Efrain Diaz,

    ¿Por qué no usas un DateTimePicker para obtener la fecha ? Ya que en el MaskedTextBox tienes que validar que el formato y/o la fecha sea verdadera.

    Si persistes en el uso del MaskedTextBox puedes usar el evento TextChanged o TypeValidationCompleted (este último se ejecuta cuando se sale del control), pero si te das cuenta este evento se ejecutaría al escribir cada caracter, tendrías que hacer una validación.

    Private Sub MaskedTextBox1_TextChanged(sender As ....
        Dim mtb = CType(sender, MaskedTextBox)
        If mtb.MaskCompleted Then  'Si la máscara está completa ejecuta
            Dim fecha = Date.Parse(mtb.Text, CultureInfo.InvariantCulture)
            TextBox1.Text = fecha.ToString("MMMM yyyy")
        End If
    End Sub

    O :

    Private Sub MaskedTextBox1_TypeValidationCompleted(sender As .....
        Dim fecha = Date.Parse(CType(sender, MaskedTextBox).Text, CultureInfo.InvariantCulture)
        TextBox1.Text = fecha.ToString("MMMM yyyy")
    End Sub

    Resultado :

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Efrain Diaz viernes, 2 de diciembre de 2016 14:53
    jueves, 1 de diciembre de 2016 22:23