2017-01-17 2 views
3

Wie aktualisiere ich nur einige Teile eines Formulars? Ich aktualisiere das Formular derzeit alle 100 Millisekunden. Es aktualisiert jedoch alles auf dem Bildschirm und nicht nur die sich ändernden Objekte. Was bedeutet, dass alles, was statisch ist und sich nicht in Werten ändert, nur bei jedem Update blinzelt. Ich möchte nur die bewegten Objekte rendern. Wie erreichst du das in F #? Sollte ich etwas anders aktualisieren als das Formular zu aktualisieren?Nur Teile des Formulars in F aktualisieren #

let win = new Form(); 
win.Refresh() 

Dazwischen habe ich eine Menge Code, den ich aufgrund von Einschränkungen nicht teilen kann. Ist es möglich, nur bestimmte Dinge im Fenster irgendwie zu aktualisieren?

Vielen Dank im Voraus, Anders.

+2

['Control.Invalidate'] (https://msdn.microsoft.com/en-us/library/8bk29t0f.aspx) – ildjarn

Antwort

2

Im Idealfall ändern Sie einfach die Werte im Formular für die Dinge, die aktualisiert werden müssen. Dies sollte diese automatisch neu zeichnen, ohne das Formular selbst zu aktualisieren.

Wenn Sie jedoch benutzerdefinierte Zeichen oder andere Dinge erstellen, für die eine explizite Invalidierung erforderlich ist, können Sie Control.Invalidate aufrufen, um ein Steuerelement ungültig zu machen. Wenn Sie sicherstellen müssen, dass es synchron neu gezeichnet wird, können Sie nach dem Aufruf InvalidateUpdate anrufen.

Verwandte Themen