webForumDet fria alternativet
Logga in / Bli medlem

Tabstrip?

.NET

4 svar · 333 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Trådstart#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
Medlem 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
Medlem 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.

Medlem 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!

Medlem 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.

256 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
115 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)