Hallo allerseits,
ich habe hier eine fensterlose Desktop-Anwendung, die im Hintergrund läuft und über Hotkeys gesteuert wird. Jetzt gibt es eine Funktion, bei der zwischen dem Drücken des Hotkeys und der Anzeige des Resultats ein paar Sekunden vergehen können. An der Stelle würde ich gerne dem User ein Feedback geben, bspw. in Form eines Wait-Cursors oder eines Spinners.
Da die Anwendung aber in diesem Moment keine Fenster geöffnet hat, habe ich keine Möglichkeit, irgendwo den Spinner einzublenden, oder unabhängig von der Anwendung einen Wait-Cursor anzuzeigen. Ich kenne auch leider kein Programm, das so eine Funktion hat, und von dem ich mich inspirieren lassen könnte. Meine Idee wäre es, ein transparentes Fenster mit einem Spinner an der Position des Mauscursors anzuzeigen. Kennt ihr evtl. eine eleganter Möglichkeit, das umzusetzen?
Weeks of programming can save you hours of planning
Der Anwender hat ja eine bestimmte Erwartungshaltung. Wenn er etwas auslöst, dann sollte instant eine Reaktion erfolgen.
Wie zeigst du denn das Resultat an? In einem Fenster?
Dann wäre es doch möglich, dieses Fenster schon zu öffnen und dort den Kreisel anzuzeigen.
Wie zeigst du denn das Resultat an? In einem Fenster?
Nein, leider nicht. Wenn die Aktion erfolgreich war, dann wird bspw. ein Anruf gestartet, entweder mit einer externen Anwendung (Skype for Business) oder einer Telefonanlage. Wenn die Aktion nicht erfolgreich war, dann geht in der Taskbar eine Balloon-Meldung auf.
Eine Variante wäre, beim Starten der Aktion schon einen Balloon anzuzeigen. Aber im Idealfall geht es halt viel zu schnell, um die angezeigte Nachricht zu lesen, bevor die nächste Meldung angezeigt wird.
Weeks of programming can save you hours of planning
Ok, man kann ein Fenster auch als „Overlay“ anzeigen (semi-transparent und durchklickbar).
Nach einer Zeit von ca. 200ms so ein Fenster anzeigen lassen bis die Aktion abgeschlossen wurde. Dadurch wird bei schnell durchlaufenden Aktionen nichts angezeigt und bei den langsamen kommt eben der Hinweis, der aber die Arbeit nicht stört (je nachdem wie transparent du das machst)
Ja, das ist die Variante, die ich damit meinte:
ein transparentes Fenster mit einem Spinner an der Position des Mauscursors anzuzeigen.
Das mit der 200ms-Verzögerung ist allerdings eine gute Idee.
Weeks of programming can save you hours of planning
Ich hatte gerade in Visual Studio noch dieses Fenster "Bitte warten, Aktion wird ausgeführt" (Text kann abweichen), welches nur erscheint wenn eine Aktion länger dauert. Ich habe eine Klasse (im ganzen Projekt) umbenannt, was aufgrund einer gleichzeitig laufenden Datensicherung (selbe Festplatte) länger gedauert hat. Sowas in der Art würde ich als Benutzer erwarten.
Hallo MrSparkle,
viel zu schnell, um die angezeigte Nachricht zu lesen, bevor die nächste Meldung angezeigt wird.
Du könntest auch die Meldungen als Liste anzeigen, so ist die alte und die nächste sichtbar -- quasi ein Log.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Ich hab eine VPN Anwendung, die hat in der Taskbar einfach ein Icon, was Grün ist wenn ich eine Verbindung habe, Gelb während des Aufbaus und Rot wenn er nicht gelungen ist. Für mich reicht das als grundlegender Feedback. Und wenn ich mehr Informationen brauche, kann ich über Rechtsklick ein Fenster öffnen, in dem ich in einer RichTextBox dann die letzten Meldungen sehe.
Das reicht vielleicht auch bei dir in der Anwendung um den Nutzer ein Feedback zu geben.
Mit dem Transparenten Fenster unter der Maus, halte ich persönlich vielleicht nicht für sinnvoll. Da der Benutzer gegebenen falls weiter Arbeiten will und es dann irritiert.
Sollte man mal gelesen haben:
Unter der Maus hat der IMHO auch nichts zu suchen.
Ich denke da eher an so etwas, was macOS einblendet, wenn man die Lautstärke anpasst oder die Auswurftaste für die CD/DVD betätigt. Angezeigt wird das im unteren Drittel horizontal zentriert.
Wenn ich es mir recht überlege würde ich dieses immer für mindestens für die Zeitdauer x anzeigen, damit auch keiner überrascht wird, warum auf einmal jemand am Telefon ist.