myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Rund um die Programmierung » Busy/Wait-Feedback für fensterlose Hintergrund-Anwendung
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Busy/Wait-Feedback für fensterlose Hintergrund-Anwendung

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.176
Herkunft: Leipzig


MrSparkle ist offline

Busy/Wait-Feedback für fensterlose Hintergrund-Anwendung

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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?
20.12.2017 17:18 Beiträge des Benutzers | zu Buddylist hinzufügen
Deaktiviertes Profil Deaktiviertes Profil ist männlich
myCSharp.de-Mitglied

Dabei seit: 06.07.2014
Beiträge: 985


Deaktiviertes Profil ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.
20.12.2017 18:00 Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.176
Herkunft: Leipzig

Themenstarter Thema begonnen von MrSparkle

MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von Sir Rufo:
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.
20.12.2017 18:08 Beiträge des Benutzers | zu Buddylist hinzufügen
Deaktiviertes Profil Deaktiviertes Profil ist männlich
myCSharp.de-Mitglied

Dabei seit: 06.07.2014
Beiträge: 985


Deaktiviertes Profil ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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)
20.12.2017 18:16 Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.176
Herkunft: Leipzig

Themenstarter Thema begonnen von MrSparkle

MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ja, das ist die Variante, die ich damit meinte:

Zitat von MrSparkle:
ein transparentes Fenster mit einem Spinner an der Position des Mauscursors anzuzeigen.

Das mit der 200ms-Verzögerung ist allerdings eine gute Idee.
20.12.2017 18:21 Beiträge des Benutzers | zu Buddylist hinzufügen
hypersurf hypersurf ist männlich
myCSharp.de-Mitglied

Dabei seit: 16.10.2008
Beiträge: 455
Entwicklungsumgebung: VS Studio 2019, Android Studio
Herkunft: Münster


hypersurf ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von hypersurf am 20.12.2017 18:24.

20.12.2017 18:23 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
gfoidl gfoidl ist männlich
myCSharp.de-Team

avatar-2894.jpg


Dabei seit: 07.06.2009
Beiträge: 6.548
Entwicklungsumgebung: VS 2019
Herkunft: Waidring


gfoidl ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo MrSparkle,

Zitat:
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ü
20.12.2017 18:58 Beiträge des Benutzers | zu Buddylist hinzufügen
Palin Palin ist männlich
myCSharp.de-Mitglied

Dabei seit: 22.08.2011
Beiträge: 1.090
Entwicklungsumgebung: VB.net


Palin ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.
20.12.2017 19:00 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Deaktiviertes Profil Deaktiviertes Profil ist männlich
myCSharp.de-Mitglied

Dabei seit: 06.07.2014
Beiträge: 985


Deaktiviertes Profil ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Deaktiviertes Profil am 20.12.2017 19:06.

20.12.2017 19:04 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Jahr.
Der letzte Beitrag ist älter als ein Jahr.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 17.08.2019 15:08