Индикатор времени даты отображается неправильно после отключения, а затем включения

#vb.net #datetimepicker

Вопрос:

У меня есть флажок. На checkbox_CheckedChanged я установил переключатель времени.Включено вот так:

 Private Sub checkbox_CheckedChanged(sender As Object, e As EventArgs) Handles checkbox.CheckedChanged
    If Me.checkbox.Checked Then
        Me.txt1.Enabled = True
        Me.dtp1.Enabled = True
    Else
        Me.txt1.Enabled = False
        Me.dtp1.Enabled = False
    End If
End Sub
 

В fisrt dtp1 выглядит следующим образом:

dtp1

Когда флажок установлен = False, dtp1 выглядит следующим образом:

dtp1 отключен

Когда флажок установлен = True, dtp1 выглядит следующим образом:

dtp1 включен

И после включения снова, когда остановка табуляции на dtp1 больше не горит ярким светом, а цвет границы отображается неправильно.

Кто-нибудь может это объяснить? Я хочу, чтобы dtp1 выглядел так сначала, когда он снова будет включен. Может ли кто-нибудь сказать мне, как это сделать?

Комментарии:

1. У вас есть TextBox место перед входом DateTimePicker ?

2. Да, я это сделал. Это часть DateTimePicker

3. Эм, нет. DateTimePicker А-это а, а а-это DateTimePicker а TextBox TextBox . Вы сделали что-то другое, чем просто добавили оба элемента управления в форму и поместили один поверх другого? Если да, то, возможно, вы могли бы объяснить это, поскольку существует явная вероятность того, что то, что вы сделали, является причиной поведения, которое вы видите.

4. Я просто еще раз проверяю, есть ли текстовое поле, расположенное перед индикатором даты и времени

5. Обычный метод состоит в том, чтобы задать ShowCheckBox свойству True значение, а затем позволить Checked свойству указать, считается ли значение присутствующим или нет. Если бы вы хотели придерживаться двух элементов управления, я бы, вероятно, рекомендовал включить их в один пользовательский элемент управления, а затем добавить его в свою форму. Таким образом, вся сложность инкапсулируется в элементе управления, а код вашей формы прост.