Frage

Bei der Anwendung arbeitet ich an, ich habe versucht, den Savefiledialog und Openfile für ihren üblichen Zweck zu verwenden (Speicher und Öffnen von Dateien.)

Allerdings kann die Anwendung nicht modale Formulare / Dialoge unterstützen, ohne da zu viele zeitkritische Absturz Dinge auf dem Thread passieren, dass die Benutzeroberfläche besitzt.

, um die Anwendung Umschreiben diese Funktionen aus dem UI-besitzenden Thread zu bewegen, ist in nächster Zukunft nicht praktikabel. Um die Funktion zu beenden ich gearbeitet habe, ich brauche einen Ersatz für die beiden Dateidialoge, vorzugsweise eine Steuerung, die auf einer nicht-modale Form leben kann.

Gibt es etwas gibt, das kann ich verwenden werde mein UI-besitzenden Thread nicht blockieren?

War es hilfreich?

Lösung

Der einzige vorhandene Option, die ich kenne Dialog Workshop.NET , ein kommerzielles Produkt. Sie haben eine Reihe von Dialogen, die die Möglichkeit, in der modalen (oder eingebettet direkt in ein Windows-Formular anstelle einem separaten Fenster) haben.

Allerdings würde ich wirklich darüber nachdenken, versuchen, Ihre Zeit sensible Logik in einen separaten Thread zu bewegen, statt. einen nicht modalen Dialog hat, wird möglicherweise Benutzer verwirren, da es nicht die Art und Weise eines Dateidialog verhalten sollte verhalten. Es gibt auch andere mögliche Folgen einen nicht-sperrbaren UI zu haben.

Andere Tipps

  

zu viele zeitkritische Dinge geschehen auf dem Thread, der die Benutzeroberfläche besitzt.

Das ist Ihr eigentliches Problem. Net hat eine sehr robuste Multi-Threading-Unterstützung. Ich schlage vor, Sie diese Dinge an andere Stelle zu bewegen, unangenehm, obwohl es scheint. Es ist wahrscheinlich weniger Arbeit als die Öffnen / Speichern-Dialoge Neuimplementierung und wird auf jeden Fall für Ihre Anwendung auf lange Sicht weniger sein.

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