Foros del Web » Programación para mayores de 30 ;) » .NET »

Una de DateTimePicker

Estas en el tema de Una de DateTimePicker en el foro de .NET en Foros del Web. Se trata de Win Forms, quien pueda, que cambio este mensaje de foro, por favor. Gracias. Que tal? Tengo el siguiente problemita con este control. ...
  #1 (permalink)  
Antiguo 14/07/2009, 09:04
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Una de DateTimePicker

Se trata de Win Forms, quien pueda, que cambio este mensaje de foro, por favor. Gracias.

Que tal?
Tengo el siguiente problemita con este control.
Intento capturar la fecha seleccionada mediante el evento Value_Changed.
El problema que le veo es que cuando le establezco una fecha en su propiedad "Value", el control se posiciona en ese día, de forma que si se abre y se pincha sobre el mismo dia, no entra en el evento Value_Changed, imagino que por el lógico motivo de que no se ha cambiado la fecha.
Hasta aquí de acuerdo.
Pero resulta que cuando se muestra el control por primera vez, sin haberle asignado ningún Value, parece ser que está posicionado en el día de Hoy, porqué justo cuando acaba de cargar el control, hago un MessageBox mostrando el Value, y puedo ver la fecha de hoy. Si en ese punto selecciono el día de hoy, compruebo que igualmente entra en el evento Value_Changed.
En cambio, si, cuando se está haciendo el Page_Load, le establezco la fecha de hoy de esta forma:

Dtp1.Value = Today

Entonces ocurre que está seleccionado el día de hoy, pero con la diferencia de que al pinchar sobre el mismo día, ya no entra en el evento Value_Changed.

Mi pregunta sería: ¿Como puedo, por código, dejar el control exactamente en el mismo estado que se encuentra cuando se acaba de cargar y no se le ha asignado ningún value?

Gracias a todos por vuestras opiniones.
Saludos.
__________________
..:: moNTeZIon ::..

Última edición por moNTeZIon; 14/07/2009 a las 09:11 Razón: Cambiar de Foro: Win Forms
  #2 (permalink)  
Antiguo 15/07/2009, 13:00
Avatar de neo101  
Fecha de Ingreso: julio-2007
Mensajes: 73
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Una de DateTimePicker

Mmm... pues no entiendo mucho sobre tu consulta, pero porque no intentas:

1. usar el evento CLICK en vez de valuechanged
2. Si se trata de resetear el control ,porque no le asignas la fecha de hoy.

Sería bueno conocer más detalles al respecto, Saludos!
  #3 (permalink)  
Antiguo 16/07/2009, 04:25
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Respuesta: Una de DateTimePicker

De acuerdo, lo intento explicar más sencillo.
Cuando se carga un DateTimePicker en un Formulario, sin nada de código, su valor inicial es la fecha de hoy (lo he comprobado sacando un messagebox).
En cambio, si al cargar el mismo formulario, escribimos esto en el Page_Load:

DateTimePicker1.Value = Today

Su valor inicial sigue siento la fecha de hoy.
Pues bien, la diferencia entre los dos casos, es que en el primer caso, cuando abro el control y selecciono la fecha de hoy, entra en el evento Value_Changed.
En cambio, en el segundo caso, por mucho que pinche en la fecha de hoy, nunca entra en el evento, porqué considera que no ha cambiado la fecha.
Lo que quiero hacer, simplemente, es poder dejar el control en ese estado inicial, por código.
neo101, la solución de asignarle la fecha de hoy, como comentas, ya ves que no funciona para el propósito que necesito, puesto que no deja el control en ese estado inicial.
Gracias!
__________________
..:: moNTeZIon ::..
  #4 (permalink)  
Antiguo 17/07/2009, 12:37
 
Fecha de Ingreso: octubre-2005
Mensajes: 180
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Una de DateTimePicker

Hola Montezion!

Si no mal recuerdo la mayoría de los controles de vs 2005 o superior cargan este evento load_changed al inicio de la aplicación; lo que ouedes hacer es poner una condición de que si es la primera vez que carga es decir poner un booleano para saber si es la primera vez que carga la forma, esto con la finalidad de indicarle que no cargue ese evento y por código instruirle lo que quieres que cargue.

Salu2...
__________________
El conocimiento se alimenta de la repeticion y la consistencia!!! (Miguel--in-- 1983---....)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:50.