3 Stimmen

Ajax-Lader in Winform-Anwendung simulieren

Ich habe eine Winform-App, die ein paar Diagramme, basierend auf der Benutzerauswahl zu machen. Ich möchte einen Ajax-Stil-Loader zu simulieren, so dass, wenn der Benutzer eine Auswahl trifft, es wird ein Overlay auf dem Formular mit einer Animation in der Mitte sein. Was sind einige der Optionen, um dies zu erreichen? Ich dachte an das Laden eines Panels mit der Animation (gif) in der Mitte, fügen Sie einige Deckkraft.

Bearbeiten ~ Irgendjemand?

Bearbeiten ~ Hier ist die Lösung, die ich gefunden habe... endlich! Kein WPF-Nonsens.

0voto

Dave Markle Punkte 91733

WinForms ist ziemlich schwach für diese Art von Sache - WPF behandelt Situationen wie diese viel besser. Sie könnten ein paar Dinge tun:

1) HACK! Erstellen Sie ein neues, randloses Formular, das Ihr Warte-Steuerelement enthält, und legen Sie es über Ihr bestehendes Formular. AFAIK können Sie nicht zuweisen Transparenz zu einem der out-of-the-box WinForms Steuerelemente. Stellen Sie sicher, dass sich Ihr neues Formular mitbewegt, wenn sich das bestehende Formular bewegt. Dies ist ein totaler Hack.

2) Erstellen Sie Ihr eigenes WinForms-Steuerelement von Grund auf neu und lassen Sie es über Ihr bestehendes Formular malen. Hohes Kosten-Nutzen-Verhältnis.

3) Verwenden Sie WPF für dieses Formular, das Ihnen viel mehr Flexibilität bietet. Das ist ein ganz neues Framework... Nur für ein Formular?

4) Blenden Sie das Diagramm vorübergehend aus und sorgen Sie dafür, dass Ihr Fortschrittspanel wirklich hübsch aussieht.

0voto

lubos hasko Punkte 24316

Das PictureBox-Steuerelement von WinForms kann keine animierten Gifs verarbeiten.

Sie können die PictureBox weiterhin verwenden, aber die Bilder selbst durchblättern. Stellen Sie einfach alle 50 oder 100 ms einen Timer ein, um die Bilder in der PictureBox zu drehen.

Um Overlay zu erstellen, würde ich versuchen, schwarzes Panel, das ganze Formular mit einigen Alpha-Wert abdecken wird. Das funktioniert allerdings nicht unter Windows XP. Wenn ich mich richtig erinnere, können Windows 2000 und niedriger nicht mit Transparenz in Winforms umgehen.

0voto

Oliver Punkte 33151

Wie Saif bereits sagte, sind diese Lader vollständig anpassbar:

http://www.codeproject.com/KB/cs/mrg_loadingcircle.aspx

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X