gpt4 book ai didi

.net - 如何处理 Windows 窗体 datetimepicker ArgumentOutOfRangeException?

转载 作者:行者123 更新时间:2023-12-04 15:05:20 25 4
gpt4 key购买 nike

我在 Windows 窗体中的 DateTimePicker 控件中遇到了一个非常具体的错误。该控件具有自定义格式 (MM-YYYY -> 01/2010) - 信用卡的月/年。今天是9月29日。如果用户选择控件,并使用键盘将月份设置为二月,则控件将抛出 ArgumentOutOfRangeException。没有 2009 年 2 月 29 日这样的日期。这也将发生在 31 日的日子里,变成只有 30 天的一个月。

通过将日期设置为“01”可以轻松处理此问题,但是用户可以单击日历手动选择 30 日,然后使用键盘选择二月。

当输入发生在 GUI 上而不是真正在代码中时,如何捕获此异常?我们已经尝试在 TextChanged 事件中捕获它,但是已经太晚了。异常已经抛出。

有没有办法处理这个案子?如果控件自动将日期更改为该月的最高值,那就太好了。或者至少如果它通过事件传递了异常。

(我知道我们可以捕获 KeyPressed 事件并将日期设置为每次 01,但这感觉 'hacky')。

最佳答案

如果你只想要月份和年份,在我看来你首先不应该使用 DatePicker ......为什么向用户提供一个控件,其中包括他们不应该使用的月份的日期它?

我建议您使用两个下拉菜单,一个用于年份,一个用于月份。几乎每个在线支付页面的用户都会熟悉这一点,并且可以避免这个问题。

编辑:好的,要回答处理异常的具体问题,您可以使用 Application.ThreadException 事件,但如果可以,我会尽量避免这样做。

关于.net - 如何处理 Windows 窗体 datetimepicker ArgumentOutOfRangeException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1490890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com