Label per Code einfügen ?

03/26/2016 16:23 anonymous-29742#1
Moin ^^,

Ich komme gerade nicht weiter und finde einfach keinen Ansatz für eine Lösung..

[Only registered and activated users can see links. Click Here To Register...]

Was ich genau machen will ?
Per Code einen Label (bzw 2) dynamisch zu erstellen.. also.. immer wenn man
die Sub aufruft, werden neue Labels (In dem Fall "FUNKTION" und "[OFF]") erstellt.

Ich hoffe mir kann evtl jemand helfen ^^

MFG Oshumar
03/26/2016 16:41 Nanoxx™#2
Quote:
Label Test= new Label();
Test.Location = new Point(25, 25);
this.Controls.Add(Test);
Sollte so funktionieren :D
03/26/2016 17:01 anonymous-29742#3
Quote:
Originally Posted by Nanoxx™ View Post
Sollte so funktionieren :D
Ist nicht Dynamisch ^^

Stell es dir so vor :
Code:
Sub LabelAdd()
'Code für das Hinzufügen'
End Sub
Und immer wenn man jetzt LabelAdd aufruft.. wird ein Label erstellt..
Also wenn man den 2mal aufruft hat man 2 mal FUNKTION und 2 mal [OFF] und nach sowas suche ich.
03/26/2016 17:54 Shawak#4
Code:
Sub LabelAdd()
  Label lbl = new Label()
  lbl.Location = new Point(25, 25)
  this.Controls.Add(lbl)
End Sub
Inwiefern ist das jetzt nicht "dynamisch"?
03/26/2016 19:11 anonymous-29742#5
Quote:
Originally Posted by Shawak View Post
Code:
Sub LabelAdd()
  Label lbl = new Label()
  lbl.Location = new Point(25, 25)
  this.Controls.Add(lbl)
End Sub
Inwiefern ist das jetzt nicht "dynamisch"?
Also ich hab das vorhin ausprobiert.. und da hat es dann den ersten Label wieder entfernt.. :o ich schau mal nochmal. Hab glaub den gleichen code ausm Internet.
03/26/2016 20:16 warfley#6
Verwende die [Only registered and activated users can see links. Click Here To Register...] kannst du verwenden um alle Referenzen auf die Labels zu halten
03/31/2016 17:10 h4zed#7
Hab das kurz mal mit nem TableLayoutPanel getestet und das funktioniert eigentlich recht schön!

Form Load Event:
Code:
tPanel.RowStyles.Clear() //Row Style clearen
tPanel.ColumnCount = 2 //Anzahl der Spalten definieren
tPanel.RowCount = 0 //Anzahl der Reigen definieren
Neue Row + Labels adden:
Code:
Private Sub AddLabelz()
        //"Function" Label erstellen
        Dim LbFunction As New Label
        LbFunction.Text = "Function"

        //"State" Label erstellen
        Dim LbState As New Label
        LbState.Text = "[OFF]"

        //Row Count raisen & Style definieren
        tPanel.RowCount = tPanel.RowCount + 1
        tPanel.RowStyles.Add(New RowStyle(SizeType.AutoSize, 0))

        //Labels in die zuletzt erstelle Row adden
        tPanel.Controls.Add(LbFunction, 0, tPanel.RowCount - 1) //Column 0 für Function Label
        tPanel.Controls.Add(LbState, 1, tPanel.RowCount - 1) //Column 1 für State Label
    End Sub

Hier noch ein Screen zur Veranschaulichung:

[Only registered and activated users can see links. Click Here To Register...]