Предотвращение мигания белого цвета фона элемента управления всплывающей формы при изменении свойств элемента управления с помощью щелчка мышью - PullRequest
1 голос
/ 18 июня 2020

В MS-Access 2010 у меня есть всплывающая форма пользователя с рядом элементов управления, заголовок и / или включенные свойства которых изменяются через VBA при нажатии кнопки выбора. Эти элементы управления имеют свой задний стиль, установленный на прозрачный, поэтому фон формы просматривается.

Когда я нажимаю одну из двух кнопок выбора, цвет фона элементов управления, которые я меняю, на мгновение мигает на белый solid. Это происходит примерно на 1/10 секунды и отвлекает и раздражает. Как мне предотвратить это?

Я безуспешно пробовал следующее:

 Private Sub fraMode_Click()
      Application.Echo False
      With Me.fraMode
           If .Value = 1 Then
                Call InitAdd    'Change controls to Add
           Else
                Call InitDel    'Change controls to Delete
           End If
      End Width
      Application.Echo True
 End Sub

Я также безуспешно пытался перемещать Application.Echo False ... Application.Echo True в разные события.

Следующее показывает, что происходит:

Form-Normal and Форма-Fla sh

1 Ответ

0 голосов
/ 23 июня 2020

Я считаю, что обнаружил, что происходит. В этом случае фон формы - это растянутое изображение PNG, которое дает эффект градиента сверху вниз. Цвет задней части моей детали - белый. Поэтому, когда я нажимаю на одну из кнопок выбора, те элементы, которые меняются на мгновение, показывают задний цвет детали. Я могу изменить цвет задней части детали на что-то приближающееся к цвету изображения, но поскольку изображение является градиентным, нет способа полностью смягчить эффект. Единственный способ предотвратить этот эффект - удалить фоновое изображение и установить цвет задней части детали на solid синий.

...