vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Toolstrip 
Autor: Solution
Datum: 30.03.06 18:16

Hallo VBler,

ich bin nun endlich auf Visual Studio 2005 ungestiegen. Ich bin begeistert. Der Schritt von 2002 ist echt gewaltig.
Auch diese Toolstrips finde ich super, allerdings liegt hier auch schon mein Problem.
Ich habe diverse Toolstrippanels in einem ToolStripContainer. Der Benutzer soll die Möglichkeit haben die Toolstrippanels zu verschieben. Die neue Position soll beim programmstart wiederhergestellt werden.
Also gehe ich hin und speicher mir die Location-Eigenschaften, die ich dann bei Programmstart wieder setze. Das klappt aber nicht so wirklich, wenn die Panels sich in mehreren Reihen befinden (Row-Objekt???). Ich denke mal, dass ich die Position nicht setzen kann, weil der Container nicht die richtige Höhe hat??? Deshalb wird das Panel einfach in die nächst höhere Row verschoben und "hinten angestellt".
Wie muss ich vorgehen, damit es richtig funktioniert?

Mein zugegebener Maßen nicht wirklich professioneller Code sieht folgender Maßen aus:
Private Function tsSymbolleistenString() As String
        Dim tsTemp As Object
        Dim Setting As String = ""
        For Each tsTemp In tsContainer.TopToolStripPanel.Controls
            If TypeOf tsTemp Is System.Windows.Forms.ToolStrip And tsTemp.name _
              <> "tsMenüstrip" Then
                Setting &= IIf(Setting = "", "", "|") & tsTemp.name & ";" & IIf( _
                tsTemp.visible, "+", "-") & _
                ";" & tsTemp.location.x & ";" & tsTemp.location.y
            End If
        Next
        tsSymbolleistenString = Setting
    End Function
 
    Private Sub tsSymbolleistenRestore(ByVal Setting As String)
        Dim vaLeiste() As Object = Split(Setting, "|")
        Dim vaSetting() As Object
        Dim tsLeiste As System.Windows.Forms.ToolStrip
        Dim i As Integer
        For i = 0 To UBound(vaLeiste)
            vaSetting = Split(vaLeiste(i), ";")
            If UBound(vaSetting) = 3 Then
                Try
                    tsLeiste = tsContainer.TopToolStripPanel.Controls(vaSetting( _
                      0))
                    tsLeiste.Visible = vaSetting(1) = "+"
                    tsLeiste.Left = vaSetting(2)
                    tsLeiste.Top = vaSetting(3)
                Catch ex As Exception
                    Debug.WriteLine(ex.ToString)
                End Try
            End If
        Next
    End Sub
Ich hoffe, dass schon mal jemand so was programmiert hat.

Gruss Mäxx
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Toolstrip770Solution30.03.06 18:16

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel