Laden...

Splitter und vermutete Probleme mit minExtra

Erstellt von Vassili vor 18 Jahren Letzter Beitrag vor 18 Jahren 897 Views
Vassili Themenstarter:in
187 Beiträge seit 2005
vor 18 Jahren
Splitter und vermutete Probleme mit minExtra

Nabend,

ich habe ein problem mit splittern. Ich habe ein Panel, das nirgends gedockt ist, es hat die immer position 0,0 Höhe immer 50 und breite beim start = der breite des formulares.

Dieses Panel enthält in folgender Reihenfolge folgende Steuerlemente:*Label (Dock Left) *Splitter (Dock Left) *Label (Dock Left)

wenn ich mit dem splitter rumspiele, dann soll das label, das links vom splitter liegt breiter bzw. schmaler geschoben werden. funzt auch, aber natürlich soll man dieses Label auch so breit ziehen, dass das rechte label teils oder gar nicht mehr sichtbar sein, also über der form liegen. ich dachte mir, dass ich das panel breiter mache, wenn im Moving Event vom Splitter die breite aller labels und splitter breiter ist als das panel selbst, aber pustekuchen. Erste Fehlerquelle war die sich nicht ändernde breite des linken labels, welches ich mit dem Splittereventarg.X korrigiert habe. Trotzdem funktionierte es nicht.

warum??

der splitter verschiebt sich selbst nur so weit, bis die summe alle steuerelementbreiten die breite des panels erreicht haben........

auch wenn ich etwas puffer lasse (breite des panels = alle control.width + 50)

Ich Vermute es liegt an einer Property, welche die brete des Controls zwischenspeichert, in welchem sich die steuerelemente befinden.

Kennt einer das problem? stimmt die Vermutung? ich verzweifel an diesem mist...

Vassili Themenstarter:in
187 Beiträge seit 2005
vor 18 Jahren

ah, Problem wohl gelöst. vll sollte ich mir vorher nochmal genau die Klasse anschauen, die mir Probleme bereitet, bevor ich hier spamme ^^


private void splitter1_SplitterMoving(object sender, System.Windows.Forms.SplitterEventArgs e)
{
	int HeaderWidth = 0;
	HeaderWidth += this.label1.Width;
	HeaderWidth += this.label2.Width;
	HeaderWidth += this.splitter1.Width;
	this.panel2.Width = HeaderWidth + 4;			
	this.splitter1.SplitPosition = e.X;
} 

die SplitPosition hat das problem gelöst