Quantcast
Channel: Buayacorp » Windows Forms
Viewing all articles
Browse latest Browse all 10

Relación entre las propiedades MinDate, MaxDate y Value del control DateTimePicker

$
0
0

Hoy mientras corregía detalles de una pequeña aplicación, me topé con un error que involucraba a las propiedades mencionadas en el título de la entrada. El código a grandes rasgos era el siguiente:

[csharp num=11 start=1]using System; using System.Windows.Forms; class App { public static void Main (string[] args) { DateTimePicker dtp = new DateTimePicker(); dtp.MinDate = new DateTime(2007, 10, 01); dtp.MaxDate = DateTime.Now; // Simular la acción del usuario dtp.Value = DateTime.Now.AddSeconds(10); } }[/csharp]

Bien, las propiedades MinDate y MaxDate sirven para hacer que el valor de la propiedad Value esté en ese rango de fechas, lo interesante de ésto es visualmente también se aplica la restricción, es decir fechas fueras de ese rango están deshabilitdadas.

Retomando el punto, el problema en el código mostrado es que en la línea 11 se asigna la fecha y hora del momento en que se ejecuta esa línea, por lo que si un usuario intenta seleccionar la fecha actual segundos o minutos más tarde, se producirá una excepción del tipo ArgumentOutOfRangeException..

La solución para este problema es asignar un valor para MaxDate que esté lo más cercano posible al día siguiente:

csharp:
using System;
using System.Windows.Forms;
 
class App
{
	public static void Main (string[] args)
	{		
		DateTimePicker dtp = new DateTimePicker();
 
		dtp.MinDate = new DateTime(2007, 10, 01); 
		dtp.MaxDate = DateTime.Today.AddDays(1).AddTicks(-1);
 
		// Simular la acción del usuario
		dtp.Value = DateTime.Now.AddSeconds(10);
	}
}

Como anécdota de esta entrada, mientras hacía pruebas con los ejemplos en Ubuntu*, extrañamente no pasaba lo mismo que con el .NET Framework de Microsoft. Luego de darle una mirada al código, me percaté que Mono no implementa correctamente esta parte, así que tuve que hacer el reporte correspondiente que pasado unas horas ya lo solucionaron. ;)

*: Mi disco duro pasó a mejor vida :( e instalé ubuntu en otro disco que tenía por ahí, supongo que toda esta semana usaré Ubuntu al 100% -- hace tiempo que no usaba un entorno gráfico en Linux. :)


Viewing all articles
Browse latest Browse all 10

Latest Images

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Trending Articles


Long Distance Relationship Tagalog Love Quotes


Dino Rey para colorear


Libros para colorear


Mandalas de flores para colorear


Renos para colorear


Dromedario para colorear


Gwapo Quotes : Babaero Quotes


Tagalog God Quotes to inspire you


RE: Mutton Pies (mely)


Ang Nobela sa “From Darna to ZsaZsa Zaturnnah: Desire and Fantasy, Essays on...


Love Quotes Tagalog


Winx Club para colorear


Orquidea para colorear


Dibujos para colorear de perros


Toro para colorear


Pulga para colorear


mayabang Quotes, Torpe Quotes, tanga Quotes


Tagalog Love Quotes and Confession


Mga Tala sa “Unang Siglo ng Nobela sa Filipinas” (2009) ni Virgilio S. Almario


El Vibora (1971) by Francisco V. Coching and Federico C. Javinal





Latest Images

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC