Laden...

[Solved] Control.Dock neu erzwingen?

Erstellt von DarKlajid vor 16 Jahren Letzter Beitrag vor 16 Jahren 926 Views
D
DarKlajid Themenstarter:in
386 Beiträge seit 2007
vor 16 Jahren
[Solved] Control.Dock neu erzwingen?

Hi.

Control.Dock macht mich noch wahnsinnig. Nachdem auf meine letzte Frage hier schon jemand mit dem hilfreichen Hinweis auf die Z-Order kam, habe ich nun ein neues Problem:

2 Panel in einem Form nebeneinander, PanelA und PanelB.

PanelA hat den DockStyle.Fill
PanelB hat den DockStyle.Left (geht) oder .Right (geht nicht)

Besonderheit: Das PanelB zeigt DinA4 Daten an und passt bei einem SizeChanged seine eigene Breite auf das entsprechende Verhaeltnis (1 : 1.4241) an.
Ist es links von PanelA, dann funktioniert das hervorragend: PanelB frisst den restlichen Platz.
Ist es rechts von PanelA, dann funktioniert es nur, wenn ich die Fensterbreite veraendere (logisch: Die Hoehe des PanelB aendert sich nicht, das Verhaeltnis von Breite zu Hoehe stimmt und es wird nichts gemacht). Aendere ich aber die Hoehe (oder Hoehe und Breite), dann scheint das DockStyle.Fill nicht zu greifen bzw. zu spaet zu kommen. Meine Interpretation:

  1. User aendert Form.Size
  2. Form ermittelt Groessen anhand der DockStyles
  3. PanelB kriegt ein SizeChanged und aendert seine Breite

Resultat: Es sieht scheisse aus. Was kann ich machen?

Zur Verdeutlichung ein Bild des Problems, eingefaerbt um das Problem zu zeigen: (Siehe Anhang)

Hilfe?

Hmpf. Es scheint nun zu gehen, mittels


this.Parent.ResumeLayout(true);
this.Parent.Refresh();

Haesslich allerdings, irgendwie..

Pound for pound, plutonium is about as toxic as caffeine when eaten.