Projekt Oberstufenplaner

  • VB.NET

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

    Projekt Oberstufenplaner

    Hallo zusammen! Ich schreibe in meinem Informatik-LK eine Facharbeit über Visual Basic .NET. In Absprache mit meinem Lehrer muss ich dazu ein Projekt anfertigen, worauf er etwas wie einen Oberstufenplaner vorgeschlagen hat. Meine Leitthema ist also: "Programmierung in Visual Basic .NET am Beispiel der Implementation einer Anwendung zur Laufbahnplanung für die gymnasiale Oberstufe". Es sollen dabei möglichst viele Steuerelemente zum Einsatz kommen.

    Ich möchte nützliche Features einbauen wie z.B. einen Stundenplan, eine Anzeige mit den kommenden Klausuren, Eintragung der Quartalsnoten sowie Zeugnisnoten, Abiturprognose (Schnitt). Ich nehme Ideen diesbezüglich sehr gerne entgegen.

    Warum erzähle ich euch das? Nun, ich bin mir sicher dass das nicht das einzige Mal sein wird dass ich euch etwas frage weil ich es im Zusammenhang mit diesem Projekt nicht hinbekomme :D

    Nun zu meiner eigentlichen Frage: Ich möchte meine GUI übersichtlich und benutzerfreundlich wie möglich gestalten. Ich stelle mir meine GUI so vor, das ich im linken Teil des Hauptfensters meine "Features" habe wie z.B. "Stundenplan" und "Klausurenkalender" etc. . Im rechten Teil der GUI, wird dann das vom Anwender im linken Teil ausgewählte Feature geladen. Von der Grundstruktur soll das also aussehen wie im Anhang.
    Hat jemand eine Idee, wie ich das umsetzen kann? Übrigens: Ich möchte für ein neues Feature nicht eine neue Form laden lassen, weil ich diese ja einfach schließen kann, sodass beispielsweise beschriebene TextBoxen einfach wieder geleert werden.

    Hoffe mir kann da jemand helfen.
    MfG

    Verschoben. Verlinktes Bild als Dateianhang eingefügt. ~Thunderbolt
    Bilder
    • 352967437_250eb3f1f0_b.jpg

      215,49 kB, 1.024×620, 191 mal angesehen

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

    Hallo TheChosenOne,

    das ich dass ich deine Fragestellung erst einmal richtig verstehe du willst das sich in dem Rechten Bereich einfach nur eine neue "Anwendung" öffnet. In dieser sollen dann Daten eingetragen werden oder?

    Und du willst nicht jedes mal eine neue Windows Form öffnen lassen, damit der Text in den TextBoxen bleibt oder? Hast du schonmal an eine Tabcontrol gedacht? Diese müsste deinen Anforderungen entsprechen. Also wenn ich deine Frage richtig verstehe. Ich habe so etwas auch schon einmal genutzt. Der Vorteil ist, dass du jeden Tab ansprechen kannst und ihre Sichtbarkeit einstellen kannst. Hierbei gehen zudem die Daten auch erst beim schließen des kompletten Programmes verloren.


    Mit freundlichen Grüßen,

    Lukas Walkenbach
    Dateien
    • Neues Bild.bmp

      (2,93 MB, 128 mal heruntergeladen, zuletzt: )
    @L-Software Erstmal vielen Dank für deine Antwort.
    Ja, du hast mein Anliegen richtig verstanden. Und ja, an TabControl habe ich schon gedacht, ist natürlich ne simple Alternative. Allerdings möchte diese Möglichkeit nur nutzen, wenn ich total verzweifle. Wieso? Nun, ich möchte es so machen, dass die "Buttons" die ich anklicke um die "neue Anwendung" zu öffnen, einen Icon & Text haben (ähnlich wie im Anhang). Da würde nun die Idee aufkommen, einfach mit solchen Buttons die einzelnen Tabs der TabControl aufzurufen. Aber man sieht dann ja diesen Tab-Raster noch, dann hätte ich zwei Elemente, womit ich die selbe Funktion habe. Gibt es eine Möglichkeit den Tab-Raster, also da wo Tab1, Tab2 usw. steht (Nicht das TabControl ansich), zu entfernen?
    Es ist also nur optisch, wo ich da etwas zu meckern hätte, aber wie gesagt; wenn ich nicht voran komme, werde ich das Problem einfach mit der TabControl lösen.

    Inzwischen habe ich gelesen dass ich mein Vorhaben ja auch mit UserControls lösen kann. Dann würde ich für die jeweilige "Anwendung" einen UserControl erstellen, und die gerade ausgewählte Anwendung anzeigen lassen (die anderen wären dann Visible=false).

    Zitat entfernt. ~Thunderbolt

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

    Was wäre denn die sauberste Lösung? :D (Wenn ich's schon mach, dann richtig)
    Mein erster Vorschlag war nämlich zunächst (bevor ich von UserControls wusste), dass ich einfach für die jeweilige Anwendung eine neue, randlose Form erstelle, und irgendwie dafür sorge, dass diese an meine Haupt-Form angepasst ist (also z.B. wenn Haupt-Form minimiert wird, dann Anwendungs-Form auch, etc.). Habe aber gelesen, dass doch nicht so sauber sein soll.

    Zitat entfernt. ~Thunderbolt

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

    Eine saubere Lösung wäre ein TabControl, bei welchem man per WinAPI die Header entfernt. Ich habe das in meiner Control-Library AeroSuite neben vielen anderen Controls schon implementiert - du könntest also einfach die Library einbinden und dann das Control HeaderlessTabControl nutzen.
    Der Sourcecode ist, falls du Interesse daran haben solltest, auch direkt verfügbar (HeaderlessTabControl.cs). Das ist zwar C#, das lässt sich aber per Online-Konverter direkt zu VB.NET übersetzen.
    Hans im Glück hats schon angesprochen: Das ist ein Mords-Projekt für jemanden, der in vb.net noch keine Datenverarbeitung gecodet hat.
    Und du fängst auch gleich falsch an, nämlich dass du dir etliche Gedanken um die Oberfläche machst, hast aber noch kein Datenmodell, und vermutlich auch keine Ahnung, was das überhaupt ist, ein Datenmodell.
    Das ist alles ziemlich viel zu lernen - hier der Lehrplan: Datenverarbeitungs-Vorraussetzungen

    Und gleich mit dem ersten anfangen - hast du Visual Studio - Empfohlene Einstellungen schon umgesetzt?
    Vb.Net wird nämlich in einer Deppen-Version ausgeliefert, das muss man erstmal umändern, um überhaupt das Thema Datentypen kapieren zu können.