Laden...

Ein Formular in .NET, das sich wie Swing anfuellt.

Letzter Beitrag vor 17 Jahren 12 Posts 1.907 Views
Ein Formular in .NET, das sich wie Swing anfuellt.

Hallo, Zusammen!

Ich moechte gerne ein Formular erstellen, das beim Resizen sich wie Swing in Java benimmt. Das heisst die Kontrolls aendern ihre groesse.

dafuer habe ich 4 Panels erzeugt, jedes Panel ist doublebuffered. Beim Resizen des Formulars wird an jeweiliges Panel die Groesse uebergeben. die Groesse der Controls wird dementsprechend berechnet, siehe die Anlagen.

Das Problem ist, dass die Aufbau des Formulars beim Resizen irre langsam laeuft und zittert. Das sieht einfach schlecht aus. Haette jemand vielleicht ein Tipp fuer mich wie man das vernuenftig loesen kann?

lg

qwert_a

Hallo qwert_a,

wie wäre es mit dem Property Anchor eines jeden Controls???

mfg

Ich zeichne eine Pie-Diagramm auf dem Panel, deswegen bringt Ancor an der Stelle nichts...

sorry das war geradse noch nicht da

mfg

Ich zeichne eine Pie-Diagramm auf dem Panel, deswegen bringt Ancor an der Stelle nichts...

Achtest Du denn beim Resize in OnPaint auch darauf dass Pie mitzuskalieren?

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

Original von blackcoin
sorry das war geradse noch nicht da

mfg

jo, entschuldigung...

Original von dr4g0n76
Achtest Du denn beim Resize in OnPaint auch darauf dass Pie mitzuskalieren?

genau. und es wird sogar skaliert, nur es ist tierisch langsam

Tja, wenn, wann und wie löst Du denn das Invalidate aus?

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

nimm nicht anchors, sondern ein TableLayoutPanel, bei dem kannst du die größen in % angeben.

loop:
btst #6,$bfe001
bne.s loop
rts

Original von dr4g0n76
Tja, wenn, wann und wie löst Du denn das Invalidate aus?

Wie meinst Du es genau?

Die Idee ist das Pie-Diagram und Balken-Diagramm dann zu scalieren, wenn die Groesse des Forms veraendert wurde. Dazu habe ich denn TableLayout verwendet. Grundsaetzlich funktioniert alles. Nur man sieht halt wie z.B TableLayout-Control beim Resizen langsam und zitternd aufgebaut wird. Ich moechte es aber so fliessend wie in Swing hinkriegen.

Moin,

ich hab das mal mit Control.SetBounds (Panel.SetBounds(x,y,widht,height) gemacht. Falls das nicht ausgereicht hat, gleich hinterher noch ein Invalidate();

Hat bei mir dann wunderbar funktioniert ...

Gruß
Budi

Nimm das Leben nicht zu ernst - denn du kommst nicht lebend raus!

wenns beim resizen zu sehr flackert, musst du in deinen controls, die den pie zeichnen DoubleBuffered = true setzen.

loop:
btst #6,$bfe001
bne.s loop
rts