Part | Description | |
object | Required. A valid object name. | |
Left | Optional. Single-precision value, in points, indicating the horizontal coordinate for the left edge of the object. | |
Top | Optional. Single-precision value, in points, that specifies the vertical coordinate for the top edge of the object. | |
Width | Optional. Single-precision value, in points, indicating the width of the object. | |
Height | Optional. Single-precision value, in points, indicating the height of the object. | |
Layout | Optional. A Boolean value indicating whether the Layout event is initiated for the control's parent following this move. False is the default value. | |
X, Y | Required. Single-precision value, in points, that specifies the change from the current horizontal and vertical position for each control in the Controls collection. |
Private Sub CommandButton1_Click()
'Move each control on the form right 25 points and up 25 points.
Controls.Move 25, -25
End Sub
Example
The following example moves a selected control on a form with the Move method, and uses the Layout event and LayoutEffect property to identify the control that moved (and changed the layout of the UserForm). The user clicks a control to move and then clicks the CommandButton. A message box displays the name of the control that is moving.
To use this example, copy this sample code to the Declarations portion of a form. Make sure that the form contains:
Private Sub UserForm_Initialize()
CommandButton1.Caption = "Move current control"
CommandButton1.AutoSize = True
CommandButton1.TakeFocusOnClick = False
ToggleButton1.Caption = "Use Layout Event"
ToggleButton1.Value = True
End Sub
Private Sub CommandButton1_Click()
If ActiveControl.Name = "ToggleButton1" Then
'Keep it stationary
Else
'Move the control, using Layout event when ToggleButton1.Value is True
ActiveControl.Move 0, 0, , , ToggleButton1.Value
End If
End Sub
Private Sub UserForm_Layout()
Dim MyControl As Control
MsgBox "In the Layout Event"
'Find the control that is moving.
For Each MyControl In Controls
If MyControl.LayoutEffect = fmLayoutEffectInitiate Then
MsgBox MyControl.Name & " is moving."
Exit For
End If
Next
End Sub
Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
ToggleButton1.Caption = "Use Layout Event"
Else
ToggleButton1.Caption = "No Layout Event"
End If
End Sub