Cela génère une erreur lors de l'exécution:Comment définir une valeur DateTimePicker à DateTime.MaxValue
dateTimePicker.Value = DateTime.MaxValue;
Cela génère une erreur lors de l'exécution:Comment définir une valeur DateTimePicker à DateTime.MaxValue
dateTimePicker.Value = DateTime.MaxValue;
Vous ne pouvez pas.
La date maximale prise en charge par DateTimePicker est DateTimePicker.MaximumDateTime
, soit le 31/12/9998; DateTime.MaxValue
est 31/12/9999 23:59:59, ce qui est un an et un jour plus tard. Pouvez-vous utiliser cette DateTimePicker.MaximumDateTime
au lieu de DateTime.MaxValue
?
Vous devez utiliser la propriété DateTimePicker.MaximumDateTime. La valeur maximale autorisée pour le sélecteur date/heure est 31/12/9998, représentée par DateTimePicker.MaximumDateTime. Alors que la valeur de DateTime.MaxValue est 31/12/9999.
Peut-être est utile:
La valeur de cette constante est équivalent à 23: 59: 59,9999999, 31 Décembre 9999, exactement un tique 100 nanosecondes avant 00:00:00 1 Janvier, 10000.
Certains calendriers, comme le UmAlQuraCalendar, soutenir une plage de dates supérieure qui est antérieure à MaxValue. Dans ces cas, essayer accéder MaxValue dans la variable affectations ou la mise en forme et l'analyse des opérations peut lancer une ArgumentOutOfRangeException. Plutôt que de récupérer la valeur de DateTime .. ::. MaxValue, vous pouvez récupérer la valeur de la dernière valeur de date valide de la culture spécifiée de la System.Globalization.CultureInfo.DateTimeFormat.Calendar.MaxSupportedDateTime propriété .
copié de façon flagrante de msdn
Pourquoi cela serait-il utile? – SLaks
Oui vous pouvez, mais il est très sale (l'utiliser à vos propres risques). Fondamentalement, il écrase le MaxValue défini dans le DateTimePicker avec le MaxValue de l'objet DateTime.
coller ce code dans le Main (ou toute autre méthode exécuter au démarrage):
var dtpType = typeof(DateTimePicker);
var field = dtpType.GetField("MaxDateTime", BindingFlags.Public | BindingFlags.Static);
if (field != null)
{
field.SetValue(new DateTimePicker(), DateTime.MaxValue);
}
Bien sûr, je peux maintenant que je sais :) – programmernovice
Toute idée pourquoi ils sont différents? Je n'ai trouvé aucune explication sur Google. – MusiGenesis
Je ne sais pas; J'ai jeté un rapide coup d'œil à la source et n'ai trouvé aucune raison évidente. – SLaks