Layout 事件、LayoutEffect 属性、Move 方法示例
以下示例使用 Move 方法移动窗体上的选定控件,并使用 Layout 事件和 LayoutEffect 属性来标识移动 (并更改 了 UserForm) 布局的控件。
用户单击要移动的控件,然后单击 CommandButton。 A message box displays the name of the control that is moving.
若要使用此示例,请将此示例代码复制到窗体的"声明"部分。 确保该窗体包含:
- 一个名为"TextBox1"的 TextBox 。
- 一个名为"ComboBox1"的 ComboBox 。
- 一个名为 OptionButton1 的 OptionButton。
- 一个名为"CommandButton1"的 CommandButton 。
- 一个名为"ToggleButton1"的 ToggleButton 。
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
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。