String= Objekt. Brauche Hilfe

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von nick1236.

    String= Objekt. Brauche Hilfe

    hallo,
    Ich wollte in vb.net eine eigene ProgressBar durch Panels erstellen.
    Das ganze besteht aus 59 Panels... Allerdings weiss ich nicht, wie ich weiterkomme. Ich habe schon

    VB.NET-Quellcode

    1. Dim pa As String
    In Pa ist jetzt der Objekt-Name. Ich möchte also nach und nach die Farbe der Panels ändern... Also

    VB.NET-Quellcode

    1. pa.backgroundcolor = grey
    Das geht natürlich nicht. Wie funktioniert das Wirklich? Danke im vorraus. MfG
    Willkommen im Forum. :thumbup:
    Offensichtlich weist Du nicht was Du willst, aber das mit ganzer Kraft.
    Atme tief durch und überleg noch mal genau, wie Du Dein Problem formulierst.
    Poste Deinen Code und schreib, was nicht funktioniert und wie es funktionieren soll.
    Kommen Fehlermeldungen?
    Wenn ja, welche, bei welchem Code?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    nick1236 schrieb:


    Das ganze besteht aus 59 Panels... Allerdings weiss ich nicht, wie ich weiterkomme. Ich habe schon


    Gaaaanz schlechte Idee.
    Merke: Nie, Nie, Niemals ein Control mit anderen Controls zusammenbasteln.
    Versuch mal GDI, in diesem Beitrag findest
    du dazu alles was du brauchst.
    Aber zuerst die obige Anweisung von Rod beachten :)
    Hey,

    59 Panels = 100% falscher Ansatz. Nimm GDI und verabschiede Dich von dem Vorhaben, den Du im Moment verfolgst.

    Abgesehen davon, wenn Du die Farbe eines Panels ändern willst, dann musst Du auch ein Panel erzeugen.

    VB.NET-Quellcode

    1. Dim pa As New Panel
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Erstmal danke für die Antworten :)
    Ich bin ein echter Anfänger in VB.net. Es sollte eine "klassische" ProgressBar werden... Also soll Panel für Panel die Farbe ändern. Da ich ein Anfänger bin würde ich gerne erstmal die Finger von GDI lassen.. Ich denke es gibt eine Möglichkeit, dass so zu lösen. SpaceyX hatte schon etwas gepostet.
    Dim pa As New Panel
    damit kann ich jetzt schonmal die Farbe von dem nicht-vorhandenem Panel ändern.. Wie kann ich jetzt pa definieren. Also pa = panel1?
    @nick1236
    Wie vorherige Posts sagen: Richtig ist besser.
    Dennoch:
    Sieh dir das mal an, ist eine von vielen Möglichkeiten, nicht die beste, aber leicht zu verstehen.

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. Dim pl As New List(Of Panel) 'neue Liste von Paneln erstellen
    4. Dim i As Integer = 0
    5. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    6. For Each Panel As Panel In Me.Controls
    7. pl.Add(Panel)
    8. Next
    9. End Sub
    10. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    11. If i < pl.Count Then
    12. pl(i).BackColor = Color.Red 'dem i'ten Item der Liste die BackColor ändern
    13. i = i + 1 ' die Variable i um 1 erhöhen, damit das nächste Panel drankommt
    14. End If
    15. End Sub
    16. End Class

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „LaMiy“ ()