
Visual C# - form.ClientSize cez návrhára
V návrhárovi mám možnosť nastaviť vlastnosť form.Size . Lenže táto vlastnosť započítava aj okraje okna, ktoré sú pre mňa neznámej veľkosti, nakoľko v jednom a tom istom systéme tieto rozmery môžu byť rôzne. Chcem nastaviť form.ClientSize, tak ako to ide v Delphi. Zaujímavý je však ale tento fakt. Nastavil som vlastnosť form.Size na (800,600), aby sa mi ľahšie hľadala možnosť zadať form.ClientSize. Zo zvedavosti som si prezrel aj kód vytváraný návrhárom a skoro som padol na zadok. Ten vlastnosti Size priradil hodnotu (792,566), čiže vlastne to ClientSize. Ja potrebujem cez návrhára nastaviť túto vlastnosť presne na (800,600) bez toho, aby sa veľkosť vnútornej plochy nejako ovplyvnila systémom. Určite, že to nechcem robiť tak, že ukončím VC#, zeditujem súbor a budem sa vytešovať ako som to šikovne spravil. Chcem to urobiť cez návrhára, proste, aby s tým neskoršie neboli nejaké problémy. Ako na to?
Cez návrhára ClientSize nijako nenastavíš. Môžeš to nastaviť v programe (napr. v konštruktore formulára).
To dokážem, bol by som to aj tak spravil, ale čakal som, že sa to dá nejako urobiť. Vieš mi aj vysvetliť prečo je to tak? V Delphi to ide, prečo tu nie? Viem, že to úzko súvisí so Size, ale aj tak by som prosil, ak by si mi to vedel vysvetliť.
A prečo by sa malo nastavovať ClientSize - na čo je to dobré? ClientSize má nastavené Browsable na false, preto sa nezobrazuje v PropertyGride.
No práve som zistil, že sa k tomu dá pristupovať cez okno Properties, zoznam ApplicationSettings, položka PropertyBinding. Má to vôbec význam, nastaviť to cez to?