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.
