vb.net - 当日期尚未显示时,DateTimePicker 不起作用
问题描述
我有一个 DateTimePicker 组件的问题,它不能按我的意愿工作。首先,这是 DateTimePickers 的所需行为,形式为:
当用户到达屏幕时,日期为空。然后他单击其中一个,将其激活并显示当前日期。用户现在可以输入日期,或使用日历选择器来选择一个。
对于最初为空的日期,我使用自定义格式并将其设置为“”(空格)。日期在表单加载时用当前日期初始化,但由于这种自定义格式,日期不可见。'Checked' 属性设置为 false。
然后当用户点击它时,它将格式设置为“短”,并显示日期。'Checked' 属性也设置为 true。
有一个函数可以激活或停用 DateTimePicker,具体取决于布尔参数:
Private Sub Activation_date(dtp As DateTimePicker, activation As Boolean)
If activation And dtp.Checked = False Then
dtp.Format = DateTimePickerFormat.Short
dtp.Checked = True
ElseIf Not activation And dtp.Checked = True Then
dtp.Format = DateTimePickerFormat.Custom
dtp.CustomFormat = " "
dtp.Checked = False
End If
End Sub
在 Click 事件和 DropDown 事件上调用此函数以显示日期。它们都由这个函数调用组成:
Activation_date(sender, True)
这是问题:当我单击 DateTimePicker 字段时,当前日期正确显示。当我单击下拉按钮打开日历时,日期也会显示。但我无法通过单击日历来选择日期:没有任何反应,日期字段仍包含初始化日期,日历保持打开状态,而不是将日期放在字段中:
我必须关闭它,再次打开它,这一次,它可以工作。
现在,我猜它是由单击下拉菜单时的格式更改引起的,但我找不到它为什么会这样,并且不允许我直接选择日期,而无需关闭并重新打开日历。如我所见,打开日历时,它应该在字段中显示日期,让我选择一个日期,关闭日历。
请注意,当我首先单击日期字段时,它会显示日期,然后当我打开下拉选择器时,它可以正常工作,可能是因为日期格式已经设置。
如果您需要信息或代码,请告诉我。谢谢。
解决方案
推荐阅读
- ruby-on-rails - 唯一索引和标准索引是分开做的吗?
- java - 如何从二维对象数组中获取数据?
- python - Python:根据元组列表中前一项的总和删除下一项
- c# - Xamarin 形成未使用的动态资源
- docker - Docker:注销后无法访问容器
- websocket - Webflux 有没有办法使用带有 stomp 和 sockjs 的 websocket
- rxjs - RxJs:Subjects 和 Observable-Multicasting 有什么区别
- ios - 将时间转换为 HH:mm:ss 格式
- android - 在颤动中将屏幕分成两个相等的部分
- eclipse - Eclipse 包升级