Panels zur Laufzeit erzeugen / löschen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    Panels zur Laufzeit erzeugen / löschen

    Hi Leute ich bin ein wenig am Verzweifel, ich möchte (vorläufig mit einem Button) ein bzw. mehrere Panel zur Programmlaufzeit erstellen und ein bestimmtes davon (mit einem anderen Button) auch wieder löschen können.

    Das Panel erzeugen funktioniert soweit auch, doch habe ich keine Ahnung wie ich es anschließend wieder lösche, bzw. überhaupt Abfrage.

    Hier mein Code:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim APanel As New ArrayList
    3. Dim Pnr As Integer
    4. ''Panels erzeugen funktioniert
    5. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    6. Dim panelx As New Panel
    7. APanel.Add(panelx)
    8. panelx.Location = New Point(100 + Pnr * 25, 80+Pnr*5)
    9. panelx.Size = New Point(20, 20)
    10. panelx.BackColor = Color.Black
    11. Controls.Add(panelx)
    12. Pnr+=1
    13. End Sub
    14. ''Das löschen leider nicht
    15. ''Edit: Löschen geht jetzt auch, aber nachdem ich einmal gelöscht habe und wieder eins erstelle überspringt er immer eine Pnr
    16. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    17. Dim panelx As New Panel
    18. Pnr -= 1
    19. Controls.Remove(APanel(Pnr))
    20. APanel.Remove(Pnr)
    21. End Sub

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Azrael“ ()

    Moin,

    ganz einfach: Gar nicht.
    Controls sind für die Entwicklung von Spielen nicht verwendbar. Mach' das mit GDI+ oder nimm gleich eine "Game Library", z. B.: Getting started | Sharpex2D 1.2.3
    Mit freundlichen Grüßen,
    Thunderbolt
    Bei mir ist da ein "Download ZIP"-Button. Das ist eine DLL, die in C# geschrieben wurde, und kann von .NET geladen und benutzt werden. Das verhält sich dann so, als hättest du den Code in deinem Programm, also kannst du ganz normal im Visual Studio programmieren.
    Mit freundlichen Grüßen,
    Thunderbolt

    Azrael schrieb:

    Gifthub
    :D

    Sharpex2D ist eine Game Library, also eine Klassenbibliothek, wie Thunderbolt schon sagte. Das heißt, dass Du auf entsprechende Komponenten dort in Deinem Programm zurückgreifen kannst, um Spiele zu entwickeln.

    Es sei jetzt aber gesagt: Hast Du Erfahrungen mit der entsprechenden Mathematik und Physik? Also Punkte, Vektoren, Matrizen etc.? Ist zwar hier halb so wild, da es ja zweidimensional ist, aber dennoch. Und dann solltest Du Dir wirklich überlegen, ob Du dieses Projekt so angehen willst. Ist jetzt meine Meinung, aber man sollte halt zumindest wissen, was eine Library ist, wie man diese einbindet und benutzt und sich anhand der Dokumentation vorarbeitet. Wenn Du also merkst, dass Dir das alles noch gar nichts sagt, dann backe lieber zunächst kleinere Brötchen und übe Dich in der Programmiersprache ein.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: