Tengo un DateTimePicker que he puesto para mostrar sólo el mes y el año de la siguiente manera:¿Cómo puedo hacer que un selector de fecha y hora contenga siempre el último día del mes y solo el mes y el año?
myDateTimePicker.Format = DateTimePickerFormat.Custom;
myDateTimePicker.CustomFormat = "MMMM yyyy";
myDateTimePicker.ShowUpDown = true;
Sin embargo, quiero que el valor de la fecha de ser siempre el último día del mes seleccionado, así que me puse el DateTime en caso ValueChanged usando:
DateTime selectedDate = myDateTimePicker.Value;
DateTime lastDayOfMonth = new DateTime(
selectedDate.Year,
selectedDate.Month,
DateTime.DaysInMonth(selectedDate.Year, selectedDate.Month));
myDateTimePicker.Value = lastDayOfMonth;
el problema es, si tengo un mes como el de marzo seleccionado, y cambiar el mes a febrero mediante los botones arriba/abajo los controles, me sale el siguiente error antes de que pueda controlar el evento ValueChanged:
ArgumentOutOfRangeException was unhandled
Year, Month, and Day parameters describe an un-representable DateTime.
Esto es comprensible porque la fecha era el 31 de marzo y que está siendo cambiada al 31 de febrero, que es una fecha no válida. Sin embargo, quiero cambiarlo al 28 de febrero (o al 29 de febrero).
¿Cómo puedo lograrlo?
esto es un error en DateTimePicker. Solución del problema está aquí: http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/69b10b5b-a034-426e-a045-2bed8a1637a3 –
Debería poner esto como una respuesta, @HansPassant :) Me –
ya contestado, no soy exigente con :) –