Frage

Ich bin ein WinForms CRUD „wie“ App für eine große Gruppe von Krankenschwestern und Sozialarbeiter der Gestaltung mit Kundendaten zu interagieren.

Es gibt viele verschiedene Formen (etwa 30 ish), dass sie benötigen, um „possiblly“ Interaktion mit für einen bestimmten Client und sie „kann“ benötigt, um von einem zum anderen für eine bestimmte Person zu springen .

ich mit der Gestaltung der Benutzeroberfläche am strugghling. Ich habe nur sehr einfaches lineares Webformular CRUDs entwickelt, in denen Sie tun, was Sie auf einer Seite benötigen und klicken Sie auf Weiter.

Was macht den mont Sinn für eine nicht-lineare winform CRUD app?

ich begonnen hatte, in diesen Tabs mit eingebetteten Formen den Weg der Laschen nach unten aber, möglicherweise aufgrund meiner mangelnden Fähigkeit, fühlt sich das Programm sehr sperrig. Ich bin nicht sicher, ob gerade MDI ist der Weg zu gehen, wie ich sehr einfache Benutzer haben, die leicht verwechselt werden können, wenn Fenster „versteckt“.

Ich würde schätzen eine Beratung, Einsicht oder Beispiele jemand haben könnte. Espeacially wenn jemand eine winform CRUD hat App selbst zu machen.

Welche UI-Layout gearbeitet (oder nicht) für Sie?

Ein Beispiel, was ich sieht derzeit wie hier ->

http://lh6.ggpht.com/_DqVwi_JXyS0/Sf8EI0ETYrI/AAAAAAAABhI/pmAhozErubo/s288 /MATRIXUIExample.JPG Von DevFiles
War es hilfreich?

Lösung

Es gibt ein paar akzeptierten Muster hier, und Sie können sie manchmal kombinieren produktiv:

  1. TabPages
  2. TreeView (Win Explorer-Ordner, Visual Studio Extras | Optionen)
  3. Einstürzen Panels (Outlook Mail / Kalender / Kontakte)

Die Einstürzen Panels sind keine Standard-Kontrolle, aber es gibt mehrere Implementierungen (hier nur ein )

Und Ihr nicht allein, denn etwas Inspiration dieses SO beantworten .

Andere Tipps

Eines der wichtigsten Dinge, die ich habe durch CRUD Typ apps gelernt, ist, um sicherzustellen, dass es Hotkeys für nahezu jede Taste und die Tab-Reihenfolge richtig eingestellt ist.

Die meiste Zeit, wenn Sie die Dateneingabe / Änderung tun, wollen Sie nicht Ihre Hände von der Tastatur fallen die Maus auf die Senden / Update-Taste zu bewegen, besonders bei großen Datenmengen zu verarbeiten . diese beiden Elemente aufweist, um eine wird die Produktivität der App erheblich verbessern.

Disclaimer:. Ich habe CRUDs getan, denn ich weiß nicht, wie lange, aber ich beginne gerade mit meinem ersten winforms app

Also, einige gemischte Ideen:

wir verwenden, um einen MDI-ähnlichen Ansatz in unserem aktuellen System (mit Centura / Gupta geschrieben). Ich denke, es ist wichtig, damit der Benutzer auf einen neuen Rekordwert zu arbeiten, ohne ihn zu zwingen, seine aktuelle Arbeit zu schließen, so dass eine Liste der geöffneten Fenster wird immer angezeigt, um ein schnelles Umschalten zwischen den verschiedenen Formen zu ermöglichen. Beispiel:

alt text
(Quelle: pingmbh.de )
Liste der geöffneten Fenster in der unteren linken. Auch dieses System ist es möglich, von innen einem anderen Datensatz zu öffnen, z.B. Öffnen Sie einen Kunden, zeigen die Aufträge dieses Kunden, doppelklicken Sie auf einem seiner Aufträge um es zu öffnen und so weiter.

Jetzt über WinForms: Nach einigen Recherchen ich deceided gegen MDI und stattdessen ein Formular verwenden, um einige SplitContainers enthält. Einer dieser Behälter Panels zeigt eine Liste der geöffneten Fenster, ein anderer die aktuelle Form zeigt. Da ich ein Formular in einem Panel zu zeigen, nicht einen Weg finden, werden die Formulare als Benutzersteuerungen realisiert. Die Hauptform verfolgt die Spuren der geöffneten Fenster und zeigt sie in der Fensterliste. Wenn der Benutzer auf einem Fenster in der Liste klickt, oder öffnet den gleichen Datensatz von woanders im Programm, wird die entsprechende Platte in den Vordergrund gebracht. Bild eines unfertigen: alt text
(Quelle: pingmbh.de )
Betrachten Sie die Auswahl der vorhandenen Datensätze aus der Bearbeitung dieser Aufzeichnungen zu trennen, das heißt zeigt die vorhandenen Datensätze in einer Art Tisch (wie ein gridview) mit Filter und Suchfunktionen und läßt die Benutzer diese Datensätze doppelklicken um sie zu bearbeiten.

Ich habe bemerkt, auf den Screenshot, den Sie Schaltflächen für „Einfügen“ und „Update“ haben. Ist das für neue Datensätze Erstellen und Speichern von vorhandenen Datensätzen? Ich denke, ein besserer Ansatz ist es, dem Benutzer eine Schaltfläche „Neu“ zu geben, dann ein Formular öffnen, das „Speicher“ und „Abbrechen“ Tasten hat. Der Benutzer kann nicht Allways erinnern, ob er begann eine neue oder eine bestehende Datensatz zu bearbeiten.

Der Auswahlbildschirm btw ist ein guter Ort für die "neue Rekord" Taste.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top