Layout 事件、LayoutEffect 属性和 Move 方法示例
下例用 Move 方法在窗体上移动选定的控件,并用 Layout 事件和 LayoutEffect 属性来标识被移动的控件(并改变用户窗体的布局)。用户单击控件来移动它,再单击命令按钮。信息框显示正在移动的控件名称。
窗体包含:
- 名为 TextBox1 的文本框。
- 名为 ComboBox1 的组合框。
- 名为 OptionButton1 的选项按钮。
- 名为 ToggleButton1 的切换按钮。
Sub UserForm_Initialize()
UserForm_ToggleButton1.Caption = "Use Layout Event"
UserForm_ToggleButton1.Value = True
End Sub
Sub UserForm_UserForm_Layout()
Dim MyControl
MsgBox "In the Layout Event"
'查找正在移动的控件。
For Each MyControl In Controls
If MyControl.LayoutEffect =fmLayoutEffectInitiate Then
MsgBox MyControl.Name & " is moving."
Exit For
End If
Next
End Sub
Sub UserForm_ToggleButton1_Click()
If UserForm_ToggleButton1.Value = True Then
UserForm_ToggleButton1.Caption = "Use Layout Event"
Else
UserForm_ToggleButton1.Caption = "No Layout Event"
End If
End Sub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29