webForumDet fria alternativet

Tabstrip?

4 svar · 333 visningar · startad av Jesper T

Jesper TMedlem sedan nov. 20017 144 inlägg
#1

Måste jag hålla på så här för att skifta mellan olika tabbar?

Private Sub TabStrip1_Click()
    If TabStrip1.SelectedItem = "Projekt" Then
            Frame1.Visible = True
            Frame2.Visible = False
            Frame3.Visible = False
            Text1.Visible = True
            Text2.Visible = True
            Text3.Visible = False
            Text4.Visible = True
    ElseIf TabStrip1.SelectedItem = "Timer" Then
            Frame1.Visible = False
            Frame2.Visible = True
            Frame3.Visible = False
            Text1.Visible = True
            Text2.Visible = True
            Text3.Visible = False
            Text4.Visible = True
    Else
            Frame1.Visible = False
            Frame2.Visible = False
            Frame3.Visible = True
            Text1.Visible = True
            Text2.Visible = False
            Text3.Visible = False
            Text4.Visible = False
            Text5.Visible = True
            Text6.Visible = True
            Text7.Visible = False
            Text8.Visible = True
    End If
End Sub
Erik JuhlinMedlem sedan maj 200010 687 inlägg
#2

Jag har egentligen inte så stor på tabbar och sånt i VB, men man kan ju skriva så här:

Private Sub TabStrip1_Click()
    Dim sSel As String, bProj As Boolean, bTimer As Boolean, bElse As Boolean
    sSel = TabStrip1.SelectedItem
    bProj = (sSel = "Projekt")
    bTimer = (sSel = "Timer")
    bElse = Not (bProj Or bTimer)
    
    Frame1.Visible = bProj
    Frame2.Visible = bTimer
    Frame3.Visible = bElse
    Text1.Visible = True
    Text2.Visible = bProj Or bTimer
    Text3.Visible = False
    Text4.Visible = bProj Or bTimer
    Text5.Visible = bElse
    Text6.Visible = bElse
    Text7.Visible = bProj Or bTimer
    Text8.Visible = bElse
End Sub
PhorpherMedlem sedan feb. 20002 300 inlägg
#3

Om alla de där komponenterna ligger i tabbar så lär du ju inte behöva göra så. Då ska det skötas automagiskt vad som ska visas och inte visas.

Jesper TMedlem sedan nov. 20017 144 inlägg
#4

Man kunde lägga alla element i en frame med samma namn och köra denna:

Private Sub TabStrip1_Click()
   Dim f As Frame
    With TabStrip1
        For Each f In Frame1
            f.Visible = (.SelectedItem.Index - 1 = f.Index)
        Next
    End With
End Sub

Tack grabbs!

greyhoundMedlem sedan maj 20031 472 inlägg
#5

Phorpher skrev:

Om alla de där komponenterna ligger i tabbar så lär du ju inte behöva göra så. Då ska det skötas automagiskt vad som ska visas och inte visas.

Bror på vilken Tabkontroll kan använder. Endel löser sånt själv andra inte.
Det finns med en av varje typ som standard i VB.

133 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)