Winforms DateTimePicker:既不使用日历也不使用旋转按钮

Winforms DateTimePicker:既不使用日历也不使用旋转按钮,winforms,.net-4.0,datetimepicker,Winforms,.net 4.0,Datetimepicker,我想利用DateTimePicker的日期验证功能,但对于我们的客户来说,日历设置日期似乎很麻烦(他们更愿意只使用键盘,在表单中按Tab键) 因此,我仔细查看了日历,发现摆脱日历的一种方法是将showup属性设置为true。所以我得到了这个: 然而,我们的客户现在说他们不想使用旋转按钮,因此他们不希望它可见/可访问。i、 e.他们希望: 但是,如果我将决战设置为false,我将返回日历。还有其他方法吗?必须滚动我自己的自定义控件。幸运的是,团队中的其他人已经编写了自定义控件,所以我有示例代码

我想利用
DateTimePicker
的日期验证功能,但对于我们的客户来说,日历设置日期似乎很麻烦(他们更愿意只使用键盘,在表单中按Tab键)

因此,我仔细查看了日历,发现摆脱日历的一种方法是将
showup
属性设置为true。所以我得到了这个:

然而,我们的客户现在说他们不想使用旋转按钮,因此他们不希望它可见/可访问。i、 e.他们希望:


但是,如果我将
决战设置为false,我将返回日历。还有其他方法吗?

必须滚动我自己的自定义控件。幸运的是,团队中的其他人已经编写了自定义控件,所以我有示例代码可以开始。不管怎样,如果我必须自己做这类事情,框架有什么好处?希望他们能在.NET4.5中解决这个问题


编辑:使用带有
ValidatingType=typeof(System.Date)
的MaskedTextBox是一个更好的解决方案。对不起.NET

我发现的唯一其他方法是创建自己的自定义控件。我需要一个日期选择器,用户必须明确按下“向下”图标才能打开日历。因此,当切换到控件时,默认行为是通过键盘输入日期。我还希望用户能够选择无日期(日期为空)。为什么他们不能为这个添加一个枚举属性?使用{Calendar/SpinButton/None}值。是否使用继承或组合?或者你只是自己滚动整个东西?我只是用用户控件中的文本框和按钮控件自己创建的。该按钮下拉一个MonthCaledar控件。我必须自己做所有的验证。