Dynamische Pictureboxen!

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von X-Zat.

    Dynamische Pictureboxen!

    Hi, ich wollt so ne art album(mit covers erstellen) jedoch scheiterts schon am anfang!

    Ich dachte mir ich ifüg die pictureboxen in einem panel(Autoscroll=true) hinzu! Aber das scheint nich so das wahre, weil ich habe probleme die anzu steuern!

    Das geht z.b. nich :

    VB.NET-Quellcode

    1. DirectCast(Panel1.Controls.Item(0), Picturebox)."blabla"

    Zu dem fehlt ja beim panel die selected... Funktion

    Wie könnt ich das mit den Pictureboxen machen =??

    Gruß

    jan
    Ich hätte zwei Lösungsansätze für dich:

    1. Erstelle eine Listview (einfache Lösung)

    - ListView erstellen, View auf Tile
    - Ggf. Groups erstellen und diesen dann Items hinzufügen (da ein Album mit (CD-?)Covers vllt nach Genre oder Interpret)
    - ImageList hinzufügen und bei jedem Laden der Items leeren, mit entsprechenden Bildern befüllen und den inzugefügten Items den entsprechenden ImageIndex der ImageList geben
    - Nach viel Arbeit happy sein.

    2. Behalte das Panel und stelle eine ListView nach (schwierige Lösung)

    - Panel "HauptPanel" erstellen, AutoScroll=True
    - Für jedes Item (Cover), das geladen werden soll (in einer For-Schleife) folgende Befehle:
    1. Erstelle ein neues Panel im Hauptpanel namens "CoverPanel1" (mittels Counter die entsprechende Nummerierung hinzufügen)
    2. Erstelle im "CoverPanel" eine PictureBox "AlbumPic", dieser fügst du direkt das Cover als Image inzu
    3. Erstelle im "CoverPanel" bei Bedarf ein Label, etc. für Beschriftungen und derweiteren
    4. Füge diese Controls letztlich auch dem "HauptPanel" zu
    (CoverPanel1.Controls.Add(AlbumPic)
    HauptPanel.Controls.Add(CoverPanel1))
    5. Erstelle eine Globale Variable (String o.Ä.), die du bei Klick in ein CoverPanel mit dem Namen des CoverPanels überschreiben lässt - So weißt du, welches Panel/Item gerade aktiv ist und kannst er per DirectCast auch direkt bearbeiten.

    MfG,
    X-Zat / Momo

    //Edit:

    Beide Lösungen hatte ich selbst schon verwendet und ja, ich könnte dir C&P-Code geben, aber dann wäre der Lerneffekt = 0 ;).