Refresh() funktioniert nicht so wie es sein solle!?

29/12/2009 - 10:36 von Robert Spence | Report spam
Hallo NG,

ich habe mir ein Panel-Control erstellt. In diesem Panel werden lediglich die Ecken mit Linien gezeichnet (dient als
Randmarkierung). Dieses Panel habe ich in eine Form gelegt (mittels Anchor entsprechend fixiert), wenn ich nun die Größe
der Form àndere, wird das Control zwar entsprechend vergrößert, die gezeichneten Randmarkierungen werden wie gewollt
gezeichnet, jedoch werden die Randmarkierungen, die vorher gezeichnet wurde nicht gelöscht (sprich - man sieht, wie das
Fenster vergrößert wurde und das Panel sich entsprechend angepasst hat!)

Ich habe im Control-Konstruktor als auch im Form-Konstruktor das Refresh() angegeben, jedoch beiben die "alten"
Randmarkierungen des Panels weiterhin vorhanden!

Auch habe ich es mit Application.DoEvent(); versucht -> aber auch hier bleiben die "alten" Randmarkierungen weiterhin
vorhanden. Wie kann ich das Ganze verhindern? Gibt es außer dem Refresh() und dem DoEvent() noch eine andere Möglichkeit
die Form wàhrend der Laufzeit zu "refreshen"?


Grüße
Robert
 

Lesen sie die antworten

#1 Frank Dzaebel
29/12/2009 - 14:20 | Warnen spam
Hallo Robert,

wenn ich nun die Größe der Form àndere, wird das Control zwar
entsprechend vergrößert, die gezeichneten Randmarkierungen werden
wie gewollt gezeichnet



Das liegt oft an einer falsch implementierten Paint-Routine.
Insofern poste doch einfach mal den (ggf. minimal reproduzierbaren)
Code, oder einen Link auf Dein Minimal-Projekt.
Ein "Refresh" dürfte gar nicht nötig sein.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen