我正在构建一个 genealogical tree app ,我需要超过这个日期。我更喜欢 DateTimePicker 而不是 TextBox + 文本-日期转换。
有没有办法规避这个限制?
最佳答案
不幸的是,DateTimePicker
控件不支持 1753 年 1 月 1 日之前的日期。这最终是由于 Date and Time Picker 中的限制所致。和 Month Calendar ComCtl32
Common Controls library 中的控件.这些控件不支持 1753 年之前的日期,因为那是公历和儒略历之间的分界线。由于控件基于公历,因此它们不会计算与儒略历一致的日期。
这会影响 .NET 代码的原因是 DateTimePicker
类是较低级别的 comctl32
控件的包装器。相关代码为here .
遗憾的是,这个限制也被带入了 the Mono implementation of the control ,因此即使您在 Linux 或 Mac 上通过 Mono 使用 DateTimePicker
,它仍然不允许在此之前的日期,尽管操作系统中缺少 comctl32.dll
。
看起来 Telerik 有 their own DateTimePicker
control .这可能值得调查。但是,在快速浏览文档后,我看不出它的限制是什么(如果有的话)。
关于c# - DateTimePicker:如何在 1753 之前设置 MinDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35383024/