Надеюсь, это простая проблема, но я изо всех сил пытаюсь найти решение. Я разрабатываю форму Microsoft Access, в которой пользователь может щелкнуть кнопку параметра на основе VBA, чтобы включить или выключить свойство Enabled для определенных полей в форме. Переключение ведёт себя так, как ожидалось, вот пример с переключателем под названием «ExtraRows», который переключает дополнительное поле адреса под названием «C / o» («C_o» в коде):
Private Sub ExtraRows_Click()
Select Case ExtraRows
Case True
Me.C_o.Enabled = True
Case False
Me.C_o.Enabled = False
End Select
End Sub
Проблема заключается в том, что размещение заголовка метки смещается на несколько пикселей вверх / вниз и влево / вправо при нажатии кнопки выбора, в то время как содержимое связанного текстового поля остается на месте. Разница проиллюстрирована ниже.
Поле отключен: заголовок метки («C / o») находится на два пикселя ниже «Content».
Поле включено: заголовок метки располагается на один пиксель выше Content:
Я бы хотел, чтобы подпись оставалась все время на одном и том же месте. Я попытался изменить размер поля метки и поигрался со свойствами полей и отступов, а также с различными свойствами специальных эффектов. Что мне не хватает?
Да, это связано. Спасибо за чаевые. Я начал с макета, но потом переместил поля. Имеет смысл хранить редко используемые поля отдельно. Просто чтобы проверить, я создал новую форму из базовой таблицы без изменения макета. Проблема сохраняется, но я заметил, что заголовок перемещается в направлении выравнивания (вверху и влево или вверху и вправо).
Оказалось, что я был слишком быстр, когда сказал, что поигрался со свойствами и полями. Проблема решена, когда я устанавливаю все поля для метки равными нулю. Заполнение, похоже, не влияет на эту конкретную проблему.
Я отвечу на свой вопрос. Я был слишком быстр, когда сказал, что поигрался с полями и отступами. Проблема исчезает, когда соответствующее поле (верхнее и правое в примере) установлено равным нулю. Таким образом, оказывается, что настройки полей для меток (но не текстовых полей) ведут себя по-разному в зависимости от того, установлено ли для свойства enabled значение true или false. Жук?
(Примечание: я сам не устанавливал никаких полей; это было поведение по умолчанию.)
Странная проблема. Связана ли метка с полем? Я стараюсь размещать свои метки и элементы управления в виде стопки, чтобы избежать подобных проблем.