VB.net Программно выпадающий DateTimePicker

Привет всем, у меня есть этот код здесь:

Call SendMessage(dtPicker.Handle, CB_SHOWDROPDOWN, True, 0&)

Это отлично работает в полях со списком, но, похоже, не работает, когда дело доходит до поля DateTimePicker.

В чем может быть проблема?

Спасибо!

Дэйвид


person StealthRT    schedule 08.04.2011    source источник


Ответы (1)


Нет, это для ComboBox. Родной элемент управления DTP довольно хитрый. Он поддерживает сообщение DTM_CLOSEMONTHCAL для закрытия календаря, но не имеет соответствующего сообщения для его открытия. Вам придется сделать что-то уродливое, например, имитировать ввод с помощью мыши или клавиатуры. Последнее, вероятно, лучше:

Private Sub ShowMonthCalendar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ShowMonthCalendar.Click
    DateTimePicker1.Focus()
    SendKeys.Send("{F4}")
End Sub
person Hans Passant    schedule 08.04.2011