Я расширил компонент MaskedTextBox
, чтобы добавить некоторые функции. Свойство text расширенного MaskedTextBox
привязано к свойству DateTime?
, а формат привязки установлен в формате времени «ЧЧ: мм: сс» (то есть время 24 часа). Так что это замаскированное текстовое поле будет захватывать время дисплея.
Дополнительная функциональность, которую я добавил, заключается в том, чтобы сделать компонент доступным только для чтения, если на компоненте не был сделан двойной щелчок или нажата кнопка ввода (задний цвет элемента управления помогает информировать пользователей, заблокирован ли компонент / доступен только для чтения). Когда кнопка ввода нажата, я также приостанавливаю привязки, так что связанные данные обновляются, пользовательский ввод не будет потерян. Затем информация записывается обратно в значение, и привязки данных возобновляются, когда пользователь снова нажимает клавишу ввода.
До этого все это прекрасно работало, значения записывались и отображались так, как и ожидалось.
Однако я также хочу записать значение null
или nothing
в свойство DateTime?
, если пользователь не ввел текст (или неверный текст, но давайте просто придерживаться без текста), когда клавиша ввода нажмите, чтобы отправить новое значение.
В отличие от с другими действительными записями в MaskedTextBox
, если у меня есть без ввода текста при выполнении:
Me.DataBindings("Text").WriteValue()
(при блокировке MaskedTextBox
) он переходит к связанным свойствам Get-метод, когда я вхожу в каждую строку кода в отладчике (в отличие от метода Set с другими действительными записями)
Как я могу записать это значение null / nothing / "" в свойство DateTime?
, если в MaskedTextBox
?
не введен текст ""
Спасибо за помощь!