我需要确定日历下拉列表当前是否显示在 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 状态?