Announcement

Collapse
No announcement yet.

Dynamische Controls einer TabPage zuordnen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dynamische Controls einer TabPage zuordnen?

    Hallo!

    Zu meinem Problem.
    Ich habe auf meiner Form 2 TabControls mit jeweils dynamisch erzeugten TabPages (diese werden von einer Datenbank geholt). Nun möchte ich klarerweise in den einzelnen TabPages Labels und TextBoxen haben.

    Das "Layout" jeder TabPage soll sowieso gleich sein, lediglich der Inhalt der verschiedenen TextBoxen wird verändert.

    Ich habe also eine Funktion geschrieben mit der ich selbst dynamisch ein Label erzeuge und dieses per Control.Add(...) einem Control (in meinem Fall einem TabControl) hinzufüge. Wie aber kann ich dieses Label an alle TabPages binden?

    Code:
       ''dyn. Labels erzeugen
        Public Sub label(ByVal name As String, ByVal text As String, ByVal where As Control, ByVal tabindex As Integer, ByVal location As System.Drawing.Point)
            Dim NewLabel As New Label
            NewLabel.Name = name
            NewLabel.Text = text
            NewLabel.Location = location ''location ist klar aber wie an ein TabPage ''binden?
            where.Controls.Add(NewLabel)
        End Sub
    
        ''Alle Tabs füllen
        Public Sub leistungs_tabs_fuellen()
            ''????
        End Sub
    Zuletzt editiert von Mike123; 28.09.2013, 07:47.

  • #2
    Hallo Mike,

    Originally posted by Mike123 View Post
    Wie aber kann ich dieses Label an alle TabPages binden?
    das ist schon vom Ansatz her unmöglich. Ein bestimmtes Control kann zu einem bestimmten Zeitpunkt nur einem einzigen Control zugeordnet sein. Zum Vergleich: Ein Mensch kann auch nicht an zwei Stellen gleichzeitig sein. (Es sei denn, er heißt Hans-Dietrich Genscher , aber das ist ein anderes Thema.)

    Wenn du in verschiedenen TabPages ein identisches Layout haben willst, könntest du ein UserControl dafür erstellen und mehrere Instanzen einbinden.

    Gruß Jürgen

    Comment


    • #3
      Es sei denn, er heißt Hans-Dietrich Genscher
      hahhaaaa, der war gut
      Christian

      Comment


      • #4
        Ich verstehe nicht, wo jetzt das Problem ist. Das, was du zuerst in die Sub geschrieben hast, kommt einfach in die foreach-Schleife.

        Umständlicher: Zuerst eine Menge von Labels erzeugen, dann eine Schleife über die TabPages, in jedem Schleifendurchgang ein Label aus der Menge holen und zuordnen.

        Einfacher: Eine Schleife über die TabPages, in jedem Durchgang ein Label erzeugen, genau dieses der aktuellen TabPage zuordnen.

        Jürgen

        Comment


        • #5
          Wenn du ein Label hast das immer angezeigt werden soll egal welches TabPage angezeigt wird wieso willst du es dann den TabPages hinzufügen
          Zeig es in einem Bereich neben (oder vor) dem TabControl an.

          Comment


          • #6
            Dann ist das von Jürgen ins Spiel gebrachte Stichwort UserControl das Thema das du dir ansehen solltest. Deinen dynamischen Controlerzeugungsansatz mag man irgendwie zum halbwegs funktionieren bekommen ich halte in aber für eine Sackgasse.

            Walkthrough aus der MSDN

            Comment

            Working...
            X