Vielleicht ein Piepton und Hintergrund blinkt rot? Irgendein Codeausschnitt? DankWie wird ein Formular bei der Fehlereingabe blinkend angezeigt?
Antwort
macht eine Form Blink ein sehr schlechtes GUI-Design ist, anstatt Sie eine dieser Optionen ausprobieren können:
- eine Dialog-Nachricht mit, wie
_
Application.MessageBox('Your message of error', 'Errror', MB_ABORTRETRYIGNORE + MB_ICONSTOP);
- mit einem Bild (Symbol), die einen Fehlerstatus darstellen.
- mit einem
TStatusBar
mit einer Nachricht, die die Fehlermeldung anzeigt. - mit einem
TLabel
in Ihrem Formular mit einer speziellen Schriftfarbe (wieclred
).
Schließlich hängt die Wahl, die Sie wählen, von der Art Ihrer Anwendung und der Art des Fehlers ab.
Check diese Frage für weitere Ratschläge Error Message Text - Best Practices
Während eine Dialognachricht viel besser ist als Piepen, Blinken und Blinken, rate ich zur Zurückhaltung bei der Verwendung von Nachrichtenboxen. Für echte Fehler sind sie OK, aber alle diese "Sind Sie sicher" Art von Nachrichten sind nur etwas weniger störend als blinken, blinken oder Piepen ... –
Auch bin ich nicht einverstanden mit ‚Blinken‘ Fenster/messages hier Sie http://www.torry.net/vcl/labels/blink/blinklbl.zip eine kleine Komponente Beispiel haben.
Sie können den Code an Ihre Bedürfnisse anpassen.
Meine persönliche Präferenz ist folgendes zu tun:
Highlight (und Fokus) die Steuerung im Fehler, entweder durch sublty ändert es Hintergrundfarbe ist oder machen die Grenze fett oder sogar die Feldbeschriftung fett zu machen. Oder irgendeine Kombination. Wie Marjan Venema sagte, seien Sie sich der Menschen bewusst, die farbenblind sind.
Zuletzt haben Sie einen Bereich jedes Formulars, der Validierungsfehler anzeigen kann - z. Richten Sie eine Listbox oder ein Stringgrid o.ä. nach unten oder oben aus und schalten Sie die Sichtbarkeit entsprechend der Anzahl der Fehler> 0 um. Sie könnten dem Benutzer sogar erlauben, auf den Fehler in der Tabelle/Liste zu klicken, um den Fokus auf das betreffende Feld zu setzen.
Eine meiner Apps speichert diese Validierungsfehler tatsächlich in einer Tabelle und ermöglicht es dem Benutzer, die Liste abzufragen, um später durch Fehler zu arbeiten.
Pop-up-Dialoge und blinken sollte sehr sparsam verwendet werden.
Hoffe, das hilft.
Erstellen Sie einfach ein zweites, leeres Formular zur Laufzeit mit der gleichen Größe und Position und zeigen Sie es für kurze Zeit als Overlay an. Sie können alphablending (AlphaBlend und AlphaBlendValue Eigenschaften, siehe this article) verwenden, damit das folgende Formular weiterhin angezeigt wird.
(Dies ist eine Technik, die ich als ein zusätzlichen visuellen Hinweis verwendet, während ein modalen Dialog angezeigt wird - ohne blinken, natürlich)
ich derzeit JvValidators von Jedi Lib mit bin.Sie können weitere Informationen auf Jedi's Project Portal finden und es auf Sourceforge Jedi's page
Schauen Sie herunterladen können, was ich damit gemacht habe: Gedean's Error Manager Framework demo
Mit freundlichen Grüßen.
Eine mögliche Lösung:
Bitte beachten Sie:
Sie sind in der Windows.pas
Einheit definiert, soweit Delphis betroffen ist.
Setzen Sie das richtige Handle auf das HWND-Feld Ihrer FLASHWINFOHWND-Struktur. Jede VCL-Steuerung mit einem Griff macht et voilà!
Durch das Anpassen der Felder dwFlags und uCount können Sie das erwartete Verhalten erzielen.
In Ihrem Fall ist das Blinken/Blinken des ganzen Formulars meiner Meinung nach keine gute Idee. Vermeiden Sie es, zu aufdringlich und/oder ärgerlich zu sein: Warum sollten Sie nicht auf das Steuerelement zielen, bei dem die falsche Eingabe erfolgt ist oder zumindest die Statusleiste?
Randbemerkung:
Hier ist ein Ausschnitt ich irgendwann durch zu Alarm Benutzer verwenden von blinkt:
procedure TForm1.Flash;
var
FlashInfo: FLASHWINFO;
begin
if (GetForegroundWindow<>Handle) then
begin
FillChar(FlashInfo, SizeOf(FLASHWINFO), 0);
//
FlashInfo.cbSize := SizeOf(FLASHWINFO);
FlashInfo.dwFlags := FLASHW_ALL or FLASHW_TIMERNOFG;
FlashInfo.hwnd := Handle;
//
FlashWindowEx(FlashInfo);
end;
end;
Hinweis:
- Es funktioniert wenn und nur wenn das Hauptfenster der App nicht ist im Vordergrund (blinkt nur bei Bedarf!).
- Ich rufe die Methode vor einer modalen Fehlermeldung und nur in diesem Fall.
Der „richtige“ Weg, dies, in Windows zu tun, ist die FlashWindow API zu verwenden, die Sie aus dem Fenster Grenze blinken läßt, und wenn es nicht zur Zeit fokussiert wird, die Taskleiste Symbol zu blinken.
- 1. Wie wird ein Formular positioniert, bevor es angezeigt wird?
- 2. Wie wird ein formatiertes Datum im OctoberCMS-Backend-Formular angezeigt?
- 3. JSF Formular wird nicht angezeigt
- 4. Android ListView CheckedTextView Blinkend
- 5. Wie wird die Anzahl der Mitarbeiter bei jeder Bewertung angezeigt?
- 6. Wie wird der Stack-Trace bei einer abgefangenen Ausnahme angezeigt?
- 7. Material Wählen blinkend auf iOS
- 8. mein Formular wird nicht richtig angezeigt
- 9. Wie wird eine Leinwand blinkend und invariant zum automatischen Drehen?
- 10. Xamarin - Symbolleiste wird nicht auf Formular angezeigt
- 11. Formular innerhalb eines Behälters div wird angezeigt, nachdem der Behälter
- 12. Wie wird der Karteninhalt angezeigt?
- 13. Das wird bei der Verwendung der Pfeilfunktion als undefiniert angezeigt
- 14. Wie kann ich ein Formular erstellen, das nicht deaktiviert ist, wenn ein anderes Formular modal angezeigt wird?
- 15. Stoppe die Taskleiste blinkend
- 16. Wie wird ein serialisiertes Array-Attribut für ein Rails ActiveRecord-Modell in einem Formular angezeigt?
- 17. UITextField Hintergrund blinkend
- 18. blinkend und setTimeout
- 19. Wie Ergebnisse für ein Formular in einem div angezeigt werden?
- 20. Node.js (Express) Formular wird bei der Einreichung gelöscht
- 21. Wie wird der Fortschritt der Dateientpackung angezeigt?
- 22. Wie wird ein neues Listenelement angezeigt?
- 23. Wie wird ein leeres div-Element angezeigt?
- 24. Wie wird ein Bild mit URL angezeigt?
- 25. Wie wird ein Ort mit Geocoder angezeigt?
- 26. Wie ein Formular einreichen
- 27. Wie wird ein Popup in der ionischen App nicht angezeigt?
- 28. Kontextmenüelement wird nicht angezeigt, wenn Formular ausgeführt wird
- 29. Der richtige Weg, um zu überprüfen, ob ein Formular bereits angezeigt wird?
- 30. Wie wird ein MKMapView ohne Straßennamen angezeigt?
yikes, drei der nervigsten ui dis-features (Piepen, Blinken und Blinken) um einen Fehler zu signalisieren ?! Warum nicht einfach einen dicken Rahmen um Kontrollen legen, die arrogene Eingaben haben? Dick, denn nur die Farbe zu ändern würde den Farbenblinden nicht helfen. –
Ich denke, Sie sollten stattdessen 1000 Popup-Fenster auf zufällige Webseiten öffnen. Das wäre noch mehr ANNOYING. :-) –