【发布时间】:2012-05-24 19:49:21
【问题描述】:
我需要确定日历下拉列表当前是否显示在 WinForms DateTimePicker 中。我有一个继承自 DateTimePicker 的自定义控件,我正在处理 KeyDown 事件以使用导航键执行操作,但如果日历下拉菜单打开,我想绕过该代码,以便用户可以在那里使用他们的导航键。
使用 ComboBox 控件,很容易使用 .DroppedDown 属性来检查它是否打开,但 DateTimePicker 没有这样的属性。
我目前正在做以下事情:
Private _isDroppedDown As Boolean = False
Private Sub MyDateTimePicker_CloseUp(sender As Object, e As EventArgs) Handles Me.CloseUp
_isDroppedDown = False
End Sub
Private Sub MyDateTimePicker_DropDown(sender As Object, e As EventArgs) Handles Me.DropDown
_isDroppedDown = True
End Sub
但是,我想知道是否有比使用变量手动跟踪控件更好的方法来获取控件的 DroppedDown 状态?
【问题讨论】:
-
DTP 有点蹩脚,你现在的没毛病。
-
它有效,但不太优雅。事实证明,Windows DTP 的其他限制也给我带来了问题,所以我将自己推出。
-
请写下这个作为答案,汉斯,我会接受的。
标签: .net vb.net winforms datetimepicker