c# - 移至 DateTimePicker 中数据输入的后续日期部分

标签 c# winforms telerik datetimepicker

我有一个用户请求,我正在努力满足,我能想到的最简单的解释方法是使用图片说明:

enter image description here本质上,用户正在输入大量日期。而不是输入

MM [反斜杠(或右箭头)]
DD [反斜杠]
YYYY [反斜杠] 等 ...

他们想键入值并移动到下一个日期部分值。虽然这看起来并不多,但我可以想象它加起来会分配额外的击键并让最终用户离开数字键盘。我目前正在使用 Telerik 的自定义格式的 Winform RadDateTimePicker:

MM/dd/yyyy hh:mm tt

但不反对更改为 Winforms DateTimePicker。

任何人都可以为此提出一个优雅的解决方案吗?我目前唯一能想到的是在控件处于焦点时捕捉击键,但我觉得这可能很困惑。

谢谢

最佳答案

  1. RadMaskedEditBox(以及分别在内部使用 RadMaskedEditBox 的 RadDateTimeEditor)具有选择下一部分的内置功能,但是,它似乎无法正确使用此掩码,因此我将其报告为一个问题。这是它的链接:issue link .您可以订阅状态更改提醒,以便在完成后收到通知。

  2. 您可以看到的是 free form date time parsing最近介绍。它允许您输入“10162014”,它将被解析为“10\16\2014”。此处没有可用的解析日期的更多信息:Parsing Dates

  3. 最后一件事是使用 KeyDown 并手动移动选择。提供商上有这方面的 API。访问方法如下:

    (this.radDateTimePicker1.DateTimePickerElement.TextBoxElement.Provider as MaskDateTimeProvider).SelectNextEditableItem();
    

我希望其中一些对你有用。

关于c# - 移至 DateTimePicker 中数据输入的后续日期部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26517023/

相关文章:

c# - javascript 和组合框

c# - 如何在 WPF 应用程序中使用 App.config 文件?

c# - 使用azure API管理重定向到URL

c# - 实例化枚举器后修改了集合 - Request.ServerVariables

c# - 将 System.Windows.Forms.Label 转换为自定义类型

c# - LinkLabel.Click 和 LinkLabel.LinkClicked 事件之间的区别?

c# - Windows 8.1 商店应用程序的信用卡支付实现

multithreading - WinForms 线程安全控件

telerik - 设置 RadGrid 列中值的格式

telerik - 向网格添加行时使用 ASP.NET MVC3 默认值的 Kendo UI