BUTTON Kategorien erstellen

  • VB.NET

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

    BUTTON Kategorien erstellen

    Hallo, ich besitze aktuell 24 Buttons die verschiedene Aktionen durchführen können sollen.

    Ich finde leider wenige passende Worte weshalb ich das ganze an einem Kassensystem mal Vergleiche.

    Beispiel: Wir besitzen 5 Buttons die eine Gruppe tragen wie z.b Getränke, Süßwaren, NonFood, Spielzeug, Technik. Sobald man auf einen der Buttons klickt, verändern sich alle 5 Buttons mit neuen Werten die der Gruppe zugeteilt sind. Diese können dann erneut ausgewählt werden und sollen dann einen Wert an eine Listbox übergeben.

    Hinzu kommt noch, das es nicht immer Gruppen für den ersten Button geben soll, es soll somit Einstellbar sein ob es mal eine Gruppe ist oder ob es direkt eine Funktion ist die übergeben werden soll.

    Ich hoffe ich konnte mich einigermasen Verständlich ausdrücken was ich suche, und einer hat einen Rat für mich wie ich das ganze umsetzen kann.

    Ich freue mich über jede Antwort / Hilfe.

    MfG
    @Robo22 Willkommen im Forum. :thumbup:
    Du kannst Controls in Panels gruppieren und dann das komplette Panel mit .Enabled = True|False oder .Visible = True|False schalten.
    Du kannst auch ein TabControl nehmen und Deine Controls dort auf verschiedenen Tabs anordnen.
    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).
    VB-Fragen über PN / Konversation werden ignoriert!
    Vielen dank für die Antwort.

    Ich weiß jetzt nicht ob ich mich nicht ordentlich ausdrücken konnte oder ich das ganze gerade nicht verstehe.
    Ich hab mal versucht nen kleines Video zu machen wie es am Ende sein sollte. Das ganze ist nur etwas zusammen geschnitten (Video) und stellt keine Funktion dar.



    Hier könnte es aber auch mal sein das es z.b Softdrinks nicht gibt sondern nur Coca Cola. Die Daten werden alle später via Datenbank mit ODBC Abgefragt. Ich weiß ist nicht die sicherste Methode, da dies aber Local angewandt wird ist dies nicht wichtig.
    Jau, so einen prinzipiellen Aufbau habe ich auch in meinem Programmstartmenü, welches ich mir vor einigen Jahren gebastelt habe:

    Ich hab das bei mir so gemacht, dass ich Objektpakete* habe, die ein Bild als Member-Objekt haben, welches dann eben pro Symbolpaket in je einer PictureBox angezeigt wird. Desweiteren kann ich festlegen, ob ein Symbolpaket ein Programm ist oder ein Menü, welches dann selber Symbolpakete, also wieder entweder Submenüs oder Programme enthält. Das Startbild ist das links und wenn man auf die Farbpalette klickt, kommt man in ein Untermenü, welches dann eben Bildbearbeitungsprogramme enthält. Das gleiche kann man eben mit Buttons machen.

    * also Klasseninstanzen

    ##########

    Vom Prinzip her geht das so, dass Du eben z.B. Deine 8 leeren Buttons hast und Du Dir nur merken musst, in welcher Menüebene Du bist. Dann schaust Du in Deine Paketliste, welche Pakete zu dieser Menüebene gehören, setzt die Buttontexte und dann verweist Du im z.B. EventHandler für den 3. Button nur auf eine Funktion, die sagt: Sende das 3. Element der aktuellen Menüebene an die ListBox. Oder den Aufrufer und der Aufrufer kümmert sich um das, was mit jenem Eintrag der Menüebene passieren soll.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VaporiZed“ ()

    @Robo22 Fang zunächst mit nem TabControl an und wenn Du fir bist mit .NET kannst Du es noch beliebig schön machen.
    docs.microsoft.com/de-de/dotne…rol?view=netframework-4.8
    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).
    VB-Fragen über PN / Konversation werden ignoriert!
    Ich find @RodFromGermanys Version mit den TabControl auch sehr vorteilhaft. Allerdings ist am Anfang der richtige Umgang mit den Tabs etwas schwierig zu verstehen. Du musst dann immer nur aufpassen beim Ansprechen deiner Buttons auf welchem Tab sie sich befinden um etwaige .Propertiers nutzen zu können.
    Ich persönlich würde auch vorschlagen, dass du deine Aktionen in Listen ablegst, damit du beim ClickEvent einfach den Inhalt und das Ereignis des Buttons entsprechend der vorgegebenen Werte (Aktion, Aussehen, Beschriftung, etc) deines Buttons anpasst. Somit könntest du dir auch die Tabs sparen und würdest lediglich die Buttons verändern. Muss man dann vorher nur genau durchdenken und du siehst auf der Form halt das Ergebnis auch erst wenn es wirklich erstellt wurde.
    Dafür brauchst du im Prinzip bloß deine Button, Listen mit den Button Inhalten (je nach Untermenü oder Aktion) und eine Variable zum Abfangen deiner Menüebene.

    Button 1: Beschriftung XY - bei Klick - Aktion aus Liste -> Abrufen der Werte -> Neugestaltung der Buttons und hinterlegen der weiteren Schritte / gleichzeitig Schreiben eines Wertes in die Variable um wieder zurück zu kommen

    Erfordert allerdings Übung im Umgang. ;)