Я использую Access 365 и VisualBasi c. У меня есть несколько флажков в форме, которые я хочу отображать только их подмножество за раз, поэтому я хочу переместить верхнюю часть флажков, чтобы, независимо от того, какие из них отображались в данный момент, я мог правильно расположить их.
Итак, я объявил массив флажков, которые я хочу динамически добавить для отображения этих флажков:
' Array holding the checkboxes that will be displayed, depending upon species, sex, etc.
Dim arrCheckBoxes(cNumCheckboxes) As CheckBox
Затем, когда я решу, что должен быть установлен конкретный флажок c Я хочу добавить его в массив в следующей доступной позиции, используя эту функцию (которая также обновит следующую доступную позицию):
Private Sub AddCheckbox(ByRef arrCheckBoxes() As CheckBox, ByRef chkNew As CheckBox, ByRef intCurrentCheckbox)
intCurrentCheckbox = intCurrentCheckbox + 1
arrCheckBoxes(intCurrentCheckbox) = chkNew
End Sub
Моя проблема заключается в том, что в коде, который вызывает функцию AddCheckbox, Я не могу понять, как пройти флажок. Я использую следующий код (CatNeuter - флажок из моей формы).
Call AddCheckbox(arrCheckBoxes, Me.CatNeuter, intCurrentCheckbox)
Однако Me.CatNeuter всегда равен 0, поэтому я думаю, что получаю только значение, а не сам элемент управления флажка , Я пробовал множество различных методов, таких как:
Me.Controls!CatNeuter
Me.Controls("CatNeuter")
Но я просто не могу понять, как передать фактический флажок, чтобы затем я мог go через массив и изменить свойство Top для каждого флажка.
С уважением, Лиз