Was bedeutet die Methode invalidate tun?
Was bedeutet invalidate
Methode tun, in winform
app?
Invalidate()
Methode kommt mit sechs überlastet form innen control class
von System.Windows.Forms
namespace.
Dank.....
InformationsquelleAutor Aryan SuryaWansi | 2011-06-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Windows Forms verwendet GDI für das rendering. GDI ist die original-Grafik-Schnittstelle in Windows. DirectX ist eine neuere Schnittstelle, die ursprünglich für Spiele-Entwicklung aber nun auch höhere level frameworks wie WPF.
GDI basiert auf dem Konzept einer paint-Methode. Wenn ein Fenster angezeigt wird, wird Windows senden eine paint-Nachricht für den code verantwortlich für die Fenster. Dies führt zu der paint-Methode aufgerufen wird. Der paint-Methode sollte dann malen Sie den Inhalt des Fensters auf dem Bildschirm.
Als ein GDI-Programm aktualisieren möchte, was angezeigt wird es nicht direkt malen, das aktualisierte Bild auf den Bildschirm. Stattdessen hat er, um Windows mitzuteilen, dass ein Bereich aktualisiert werden muss. Dies wird als ungültig einer region. Windows wird dann rufen Sie die entsprechenden paint-Methode liefert Informationen über das, was ungültig und muss aktualisiert werden. Der paint-Methode sollte ziehen Sie dann den aktualisierten Inhalt auf dem Bildschirm.
Diese Methode der Aktualisierung Bildschirm-Inhalt wird auch verwendet, wenn windows gezogen werden, die über andere windows. Wenn GDI entwickelt wurde die Grafik-hardware ziemlich langsam war und eine Menge Arbeit in Windows zum Zwischenspeichern von bitmaps, und nur, invalidate und update was verändert wird.
Wenn überlappende Fenster oder ein untergeordnetes Fenster gezogen werden, es geschieht von hinten nach vorne zu Holen Sie sich die richtige überlagerung von visuellen Elementen. Dies kann zu flimmern, wo ein hintergrund ist gelöscht und gezeichnet, gefolgt von anderen Elementen vor. Wenn der zeichnen-Geschwindigkeit ist langsamer als der Bildschirm aktualisieren, könnten Sie feststellen, dass einige flackern. Dies ist ein untrügliches Zeichen für eine GDI-Applikation vielleicht erstellt mit Windows Forms.
In Windows Forms wenn Sie ungültig ein Steuerelement, das Sie verlangen, dass es sein sollte neu gezeichnet.
Lackieren ist nicht Bestandteil der GDI, sondern an der Windows-Architektur.
Holterman: Sie haben Recht. Was ich erkläre, ist eine wirklich kurze Geschichte über das GDI (graphics device interface) + BENUTZER (Benutzeroberfläche, einschließlich windows-und message-passing).
deine Erklärung ("GDI basiert auf dem Konzept einer paint-Methode") ist verwirrend Windows-und GDI-alle über dem Platz. Beispiel: GDI-wird verwendet für den Druck zu und dann gibt es keine Farbe oder Ungültig beteiligt.
Ein gotcha auf meiner Seite ist: Wenn du das Zeugs in einer Prozedur - wie MouseMove und Ihre Bestellung ist schnell, Invalidate bewirkt, dass die Kontrolle zu sein, bis zu Daten, die in der Nähe aller Zeit. Wenn Sie jedoch Sachen übersteigt wie 10ms - Aufruf von Invalidate() führt nicht zu einem Neuzeichnen der Nähe von Echtzeit aber erst nach Maus-Ereignisse zu verlangsamen. Es hilft, um dann eine Update() erzwingen, dass ein re-draw. Die Ursache scheint zu liegen in der dispatcher-und Versand-Prioritäten. Unentschieden ist das höchste, Maus-Ereignisse folow und erlöschen am niedrigsten ist. Computing führt zu mehr Staus (wie es scheint)
InformationsquelleAutor Martin Liversage
Fragt windows, um das Neuzeichnen des client-Bereichs des ungültig-Fenster.
Aus der MSDN:
"Ist ungültig, die gesamte Oberfläche der Kontrolle und bewirkt, dass das Steuerelement neu gezeichnet werden."
http://msdn.microsoft.com/en-us/library/598t492a.aspx
In anderen Worten, ungültig machen bedeutet hier, wie es aussieht "muss aktualisiert werden."
Es tut nicht force. Es Wünsche ein repaint.
als ich pro interpret (Sag mir wenn es falsch ist), ungültige aktuellen Bereich zu machen, gilt es wieder neu zeichnen
Gotcha. Ich konnte sehen, dass ein wichtiges detail. Ich werde Bearbeiten.
InformationsquelleAutor asawyer
Es bewirkt, dass das Steuerelement neu gezeichnet.
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.invalidate.aspx
Werden Sie nur selten brauchen, um diese Methode aufrufen, es sei denn, Sie machen eine low-level-Grafik-manipulation.
InformationsquelleAutor Mark Arnott
Die Invalidate () - Methode Neuzeichnen des Steuerelements. Zum Beispiel, wenn Sie verwenden ein panel "panel1", die enthält ein label und ein Textfeld, wird der folgende code neu gezeichnet, sowohl die Beschriftung und das Textfeld (durch Aufruf der Paint-Ereignis)
InformationsquelleAutor Rauf
Es ist ein GUI-rendering-Methode - es zwingt windows neu zu zeichnen, der sichtbare Teil der Kontrolle.
Fair genug - ich sollte mich daran erinnern, dass windows nicht gefällt, nehmen Bestellungen. 😉
InformationsquelleAutor The Evil Greebo
Es im Grunde ruft die PaintBackground und Paint Methoden der Kontrolle.
InformationsquelleAutor LarsTech