Поделиться через


Свойство ComboBox.ControlType (Access)

Используйте свойство ControlType в Visual Basic, чтобы определить тип элемента управления в форме или отчете. Чтение и запись байтов.

Синтаксис

expression. Controltype

Выражение Переменная, представляющая объект ComboBox .

Замечания

Параметр свойства ControlType является встроенной константой, указывающей тип элемента управления. Полный список элементов управления, созданных методами CreateControl и CreateReportControl , см. в перечислении AcControlType .

Свойство ControlType можно задать только с помощью Visual Basic в режиме конструктора или конструктора отчета, но его можно считывать во всех представлениях.

Свойство ControlType полезно не только для проверки определенного типа элемента управления в коде, но и для изменения типа элемента управления на другой тип. Например, можно изменить текстовое поле на поле со списком, задав для свойства ControlType для текстового поля значение acComboBox в режиме конструктора формы.

Используйте свойство ControlType для изменения характеристик аналогичных элементов управления в форме в соответствии с определенными условиями. Например, если вы не хотите, чтобы пользователи редактировали существующие данные в текстовых полях, можно задать для свойства SpecialEffect для всех текстовых полей значение Flat, а для свойства AllowEdits формы — Значение Нет. (Свойство SpecialEffect не влияет на возможность редактирования данных; оно используется здесь для предоставления визуального подсказки об изменении поведения элемента управления.)

Свойство ControlType также используется для указания типа элемента управления, создаваемого при использовании метода CreateControl .

Пример

В следующем примере проверяется свойство ControlType для всех элементов управления в форме. Для каждого элемента управления "Метка" и "Текстовое поле" процедура переключает свойство SpecialEffect для этих элементов управления.

Если свойству SpecialEffect элемента управления label присвоено значение Shadowed, а свойству SpecialEffect элемента управления "Текстовое поле" присвоено значение "Обычный", а свойствам AllowAdditions, AllowDeletions и AllowEdits задано значение True, intCanEdit переменная переключается, чтобы разрешить редактирование базовых данных.

Sub ToggleControl(frm As Form) 
 Dim ctl As Control 
 Dim intI As Integer, intCanEdit As Integer 
 Const conTransparent = 0 
 Const conWhite = 16777215 
 For Each ctl in frm.Controls 
 With ctl 
 Select Case .ControlType 
 Case acLabel 
 If .SpecialEffect = acEffectShadow Then 
 .SpecialEffect = acEffectNormal 
 .BorderStyle = conTransparent 
 intCanEdit = True 
 Else 
 .SpecialEffect = acEffectShadow 
 intCanEdit = False 
 End If 
 Case acTextBox 
 If .SpecialEffect = acEffectNormal Then 
 .SpecialEffect = acEffectSunken 
 .BackColor = conWhite 
 Else 
 .SpecialEffect = acEffectNormal 
 .BackColor = frm.Detail.BackColor 
 End If 
 End Select 
 End With 
 Next ctl 
 If intCanEdit = IFalse Then 
 With frm 
 .AllowAdditions = False 
 .AllowDeletions = False 
 .AllowEdits = False 
 End With 
 Else 
 With frm 
 .AllowAdditions = True 
 .AllowDeletions = True 
 .AllowEdits = True 
 End With 
 End If 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.