Add Label Problem 2

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Manschula.

    Add Label Problem 2

    Hey

    Hier bin auch auch schon wieder, und zwar wenn ich ein Label Add dann kommt da 1 Label schön und Guuuuttt! Aber wenn ich noch ein Label haben will kommt da kein Neuer Label sondern der nimmt den anderen Label und setzt in wieder in der Alten Location hin. Ich möchte das haben, das man über 100 Label machen kann.

    Danke :D

    Hab den Code ein bisschen geändert hoffe stört nicht^^

    VB.NET-Quellcode

    1. Dim WithEvents lb As Label = New Label


    VB.NET-Quellcode

    1. lb.BackColor = Color.Transparent
    2. lb.Cursor = Cursors.SizeAll
    3. lb.Text = "Simple"
    4. lb.Location = New Point(166, 68)
    5. PictureBox1.Controls.Add(lb)
    Hey,

    bezieht sich die Frage auf die 'neue Location'? Wenn ja, dann wäre doch eine globale Variable mal ein ganz guter Ansatz, oder nicht?

    VB.NET-Quellcode

    1. Dim i As Integer = 0 ' Speichert die Y-Koordinate
    2. Private Sub ButtonClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Dim lb As New Label ' Label neu erstellen
    4. i += 25 ' H-Position aendern
    5. lb.Text = "Label Y:" & i
    6. lb.Name = i.ToString
    7. lb.Location = New Point(100, i)
    8. PictureBox1.Controls.Add(lb)
    9. End Sub

    Quick and dirty ;)

    Gruß, Manschula
    Danke, Aber dann noch 1 Problem

    Man Solte den Label verschieben können hab ich ja hin bekommen. Wenn ich dein Code anwende, geht das nicht mehr

    VB.NET-Quellcode

    1. Dim x, y As Integer



    VB.NET-Quellcode

    1. Private Sub lb_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles lb.MouseDown
    2. x = MousePosition.X - lb.Location.X
    3. y = MousePosition.Y - lb.Location.Y
    4. End Sub
    5. Private Sub lb_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles lb.MouseMove
    6. If e.Button = Windows.Forms.MouseButtons.Left Then
    7. lb.Location = New Point(MousePosition.X - x, MousePosition.Y - y)
    8. End If
    Hey,

    DingDong schrieb:

    Man Solte den Label verschieben können hab ich ja hin bekommen. Wenn ich dein Code anwende, geht das nicht mehr

    schön, dass du mit solchen Informationen immer erst hinterher kommst - ist ja nicht so, dass das wichtig wäre :huh:

    Stichwort wäre in deinem Fall wohl 'AddHandler', um die einzelnen Events der zig Label zu bündeln. Dann musst du lediglich feststellen, welches Label bewegt werden soll (Stichwort 'Sender'). Schau dir zum Beispiel mal dieses Beispiel an: activevb.de/tipps/vbnettipps/tipp0020.html Ein gewisses Abstraktionsvermögen unterstelle ich dir jetzt einfach mal...

    Gruß, Manschula