Вопрос

Я создал элемент управления в виде флажка, при активации которого определенные элементы управления становятся видимыми..После его деактивации элементы управления становятся невидимыми.Моя проблема связана с загрузкой формы.При первом установлении флажка (при событии mousedown) ничего не происходит, заставляя пользователя отменить его выбор, а затем установить повторно..При повторном выборе это работает нормально..Я предполагаю, что мне нужно где-то выполнить какое-то обновление, но я не могу понять, как..не мог бы кто-нибудь помочь мне?Ниже приведен мой код..Спасибо

Private Sub cmdAccounting_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Me.cmdAccounting = 0 Then
    cost.Visible = True
    Etichetta35.Visible = True
    Etichetta37.Visible = True
    Etichetta43.Visible = True
    qty.Visible = True
    tot.Visible = True
    lineaAccounting1.Visible = True
    lineaAccounting2.Visible = True
    Me.FileSaved.Visible = False
    Me.lblFileSaved.Visible = False
Else
    cost.Visible = False
    Etichetta35.Visible = False
    Etichetta37.Visible = False
    Etichetta43.Visible = False
    qty.Visible = False
    tot.Visible = False
    lineaAccounting1.Visible = False
    lineaAccounting2.Visible = False
    Me.FileSaved.Visible = True
    Me.lblFileSaved.Visible = True

End If
Me.Form.Refresh
End Sub
Это было полезно?

Решение

Я бы посоветовал вам сохранить переход к коду в его собственном подразделе, что-то вроде Sub UpdateControls().Затем вы можете вызвать этот вспомогательный модуль в двух местах: Form_Current и _AfterUpdate событие любого элемента управления, которое должно изменить состояние.Удалите Me.Form.Refresh линия.Form_current срабатывает при отображении первой записи и повторяется при каждом переходе пользователя. AfterUpdate сработает при изменении флажка внутри записи.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top