SplitContainer bug u VS 2005 (a boga mi i u 2008)

21 07 2008

Sitnica koja me je nekidan koštala puno živaca. Napravite formu širine recimo 800.Ubacite zatim jedan SplitContainer i postavite Dock na Fill. Na istoj kontroli treba podesiti Panel1MinSize na recimo 30 a Panel2MinSize na 200. Pokrenite aplikaciju i dobicete ovaj exception:

Poruka o greški je besmislena (za lenje 800-200 je u svakom slučaju veće od 30).

Problem je u tome što Visual Designer postavlja kod za splitContainer1 prije koda potrebnog za Form1.Rešenje je jednostavno.Postavite ove dve linije posle metode InitializeComponent() u konstruktoru od Form1:

this.splitContainer1.Panel1MinSize = 30;
this.splitContainer1.Panel2MinSize = 200;

Smešno je da se ovaj problem vuče još od prve verzije VS 2005, a bio je najavljivan i bugfix sa SP1 ali evo i u VS 2008 je situacija nepromenjena.Malo neozbiljno od strane Mirosofta,pogotovo što je u pitanju kontrola koja se često koristi.

Ja sam uvek bio zastupnik vizuelnih editora za kreiranje GUI-a u aplikacijama. (iako to nije baš geek-asto :) ) Kodiranje GUI-a mi je nekako smor.Možda i zato što jedino tu mogu pokazati da je ruka kočnica mog talenta za crtanje. :) Naravno ako se forma planira koristiti za više stvari sa minornim izmenama (recimo tipičan primer je new/edit) ili ako je forma kompleksna, ručno kodiranje je još uvek moranje.


Actions

Information

Leave a comment