Die Verwendung von Tab strip
unterscheidet sich von z.B. Multi page
weil es kein Container für Steuerelemente ist, schlägt der Code NewTabstrip.Controls.Add...
fehl. Tab strip
hat keine Kontrollen, aber es installiert unterhält eine Reihe von Steuerelementen der User form
.
Weitere Informationen finden Sie unter: How to Use the TabStrip Control in a UserForm
Und hier: How to Use the MultiPage Control in a UserForm sind Informationen über Mehrseit. Es ist ein Container für Steuerelemente, die Seite hat ihre eigenen Steuerelemente, vielleicht ist es genau das, wonach Sie suchen.
Ein Beispiel, wie das Tabstrip-Steuerelement verwendet werden kann, um eine Farbe des NewFrame entsprechend der ausgewählten Registerkarte zu ändern. (So verwenden Sie das Beispiel neuen Benutzer Formular-Schaltfläche mit dem Befehl erstellen AddTabstrip
genannt) HTH
Option Explicit
Private WithEvents NewTabStrip As TabStrip
Private NewFrame As MSForms.Frame
Private Sub AddTabstrip_Click()
If Not NewTabStrip Is Nothing Then
MsgBox "Tabstrip was allready added.", vbExclamation
Exit Sub
End If
Set NewTabStrip = Me.Controls.Add("Forms.TabStrip.1")
With NewTabStrip
.Height = Me.Height - 90
.Width = Me.Width - 30
.Top = 15
.Left = 15
End With
NewTabStrip.Tabs(0).Caption = "Tab 1"
NewTabStrip.Tabs(1).Caption = "Tab 2"
NewTabStrip.Tabs.Add "Tab3", "Tab 3"
Set NewFrame = Me.Controls.Add("Forms.Frame.1")
With NewFrame
.Height = NewTabStrip.Height - 30
.Width = NewTabStrip.Width - 30
.Top = NewTabStrip.Top + 20
.Left = NewTabStrip.Left + 15
End With
Call NewTabStripChanged
End Sub
Private Sub NewTabStrip_Change()
Call NewTabStripChanged
End Sub
Private Sub NewTabStripChanged()
' This procedure runs when the TabStrip control named NewTabStrip
' changes. This procedure will change the color of the NewFrame
' control based on which tab the user selects.
Dim i As Integer
i = NewTabStrip.SelectedItem.Index
Select Case i
Case 0
' First tab selected, change color to red.
NewFrame.BackColor = RGB(255, 0, 0)
Case 1
' Second tab selected, change color to green.
NewFrame.BackColor = RGB(0, 255, 0)
Case 2
' Third tab selected, change color to blue.
NewFrame.BackColor = RGB(0, 0, 255)
End Select
End Sub
Was wollen Sie damit erreichen? Ein Rahmen ist im Wesentlichen nur ein Container für mehrere Schaltflächen, Kombinationsfelder, Listenfelder usw. Da Sie bereits einen Container (das übergeordnete Formular) und sogar einen TabStrip haben, was würde dann noch ein anderes Formular im übergeordneten Formular verwenden? Wenn Sie ein wenig mehr auf das, was Sie erreichen wollen, eingehen, können wir Ihnen vielleicht besser helfen. – Ralph