none
Detectar si se cambio dia o mes en un month calendar

    Pregunta

  • Buenas Tardes

    Mi inquietud es la siguiente, tengo un control Monthcalendar en un form; con el evento " MonthCalendar1_DateChanged" se cuando el usuario cambia la fecha, entonces oculto el control y se ejecutan otros procesos, hasta ahi todo bien, el problema esta cuando el usuario cambia el mes, pues el evento se dispara y oculta el control sin poder seleccionar el dia y es muy engorroso tener que volver a abrir para hacerlo, hay forma de saber si fue el mes el que se cambio? o limitar el evento solo a los dias y no a los meses y años?

    Gracias

    Lenguaje VB 2015

    lunes, 3 de abril de 2017 23:37

Respuestas

  • Bueno, parece que la unica forma es hacerlo por codigo comparando variables para saber si el mes cambio, la doy por resuelta, muchas gracias.
    • Marcado como respuesta fertrones0 martes, 4 de abril de 2017 0:16
    martes, 4 de abril de 2017 0:16
  • Hola fertrones0,

    Vas a permitir que el usuario pueda seleccionar fechas de meses diferentes o solo quieres trabajar con las fechas del mes actual ? Ya que podrías asignar el MinDate y MaxDate de tu control 'MonthCalendar' y asignar la fecha inicial y final de un mes en especial, así ya no podrá hacer 'previous Month' ni 'next Month'.

    [-] ... hay forma de saber si fue el mes el que se cambio? ..

    La fecha que tomarás como referencia será la actual ? En caso sea correcto, podrías hacer :

    'Almacena la fecha de hoy
    Dim fecha As Date = Date.Now
    
    Private Sub MonthCalendar1_DateChanged(sender As Object, ....
        If fecha.Month = e.Start.Month And
        fecha.Month = e.End.Month Then
            'La fecha seleccionada es del mismo mes
        Else
            'La fecha seleccionada es de otro mes
        End If
    End Sub


    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI


    martes, 4 de abril de 2017 0:18

Todas las respuestas

  • Bueno, parece que la unica forma es hacerlo por codigo comparando variables para saber si el mes cambio, la doy por resuelta, muchas gracias.
    • Marcado como respuesta fertrones0 martes, 4 de abril de 2017 0:16
    martes, 4 de abril de 2017 0:16
  • Hola fertrones0,

    Vas a permitir que el usuario pueda seleccionar fechas de meses diferentes o solo quieres trabajar con las fechas del mes actual ? Ya que podrías asignar el MinDate y MaxDate de tu control 'MonthCalendar' y asignar la fecha inicial y final de un mes en especial, así ya no podrá hacer 'previous Month' ni 'next Month'.

    [-] ... hay forma de saber si fue el mes el que se cambio? ..

    La fecha que tomarás como referencia será la actual ? En caso sea correcto, podrías hacer :

    'Almacena la fecha de hoy
    Dim fecha As Date = Date.Now
    
    Private Sub MonthCalendar1_DateChanged(sender As Object, ....
        If fecha.Month = e.Start.Month And
        fecha.Month = e.End.Month Then
            'La fecha seleccionada es del mismo mes
        Else
            'La fecha seleccionada es de otro mes
        End If
    End Sub


    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI


    martes, 4 de abril de 2017 0:18
  • Hola Joel gracias por tu respuesta, hice algo parecido a lo que me explicas, nada mas que solo compare el mes con variables, si el mes cambia en el evento, salgo del sub y se puede seleccionar el dia.

    • Editado fertrones0 martes, 4 de abril de 2017 1:30
    martes, 4 de abril de 2017 1:29