Freigeben über


Layout-Ereignis, LayoutEffect-Eigenschaft, Move-Methode (Beispiel)

Im folgenden Beispiel wird ein ausgewähltes Steuerelement in einem Formular mit der Move-Methode verschoben und das Layout-Ereignis und die LayoutEffect-Eigenschaft verwendet, um das Steuerelement zu identifizieren, das verschoben wurde (und das Layout des UserForm geändert hat).

Der Benutzer klickt auf ein Zu verschiebende Steuerelement und klickt dann auf das CommandButton-Steuerelement. In einem Meldungsfeld wird der Name des steuerelements angezeigt, das verschoben wird.

Wenn Sie dieses Beispiel verwenden möchten, kopieren Sie diesen Beispielcode in den Deklarationsteil eines Formulars. Stellen Sie sicher, dass das Formular folgende Komponenten enthält:

  • Ein Textfeld-Steuerelement ( TextBox ) mit der Bezeichnung "TextBox1".
  • Ein Kombinationsfeld -Steuerelement (ComboBox) mit der Bezeichnung "ComboBox1".
  • Ein OptionButton mit dem Namen OptionButton1.
  • Eine Befehlsschaltfläche ( CommandButton ) mit der Bezeichnung "CommandButton1".
  • Ein Umschaltfeld-Steuerelement ( ToggleButton ) mit der Bezeichnung "ToggleButton1".
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

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.