c# - DateTimePicker:如何在 1753 之前设置 MinDate

标签 c# winforms datetimepicker

我正在构建一个 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/

相关文章:

c# - DateTimePicker 从不更新!

c# - 在控制离开当前方法之前必须分配 out 参数

c# - Fluent NHibernate 乐观锁和延迟加载

.net - Treeview 节点上的动态上下文菜单

c# - 如何发送关键的 ASCII 值 0?

javascript - 日期时间选择器布局错误

c# - 如何使用imdisk和C#创建RAM磁盘?

c# - Entity Framework 拆分表删除

c# - IoC/DI 框架与智能客户端 Winform 应用程序 : How should I approach this?

javascript - DatePicker Javascript 在初始化时传递允许时间的数组