VB.net Программируемый выпадающий список DateTimePicker - PullRequest
0 голосов
/ 08 апреля 2011

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

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

Это прекрасно работает в выпадающих списках, но не работает, когда дело доходит до поля DateTimePicker.

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

Спасибо!

David

1 Ответ

9 голосов
/ 08 апреля 2011

Нет, это для 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
...