[Win.NET] wijziging grootte van werkvlak na toevoeging menu

Pagina: 1
Acties:

  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 27-08-2021

CaptBiele

No Worries!

Topicstarter
Ik heb reeds een winforms c#.net applicatie.
Ik maak hierin gebruik van een MainMenu control. Na het toevoegen van dit menu ( of statusbar, etc) is het "werkbare vlak" van het mainForm automagisch verkleind.
En met het werkbare vlak bedoel ik waarin de forms geladen worden. Zelfs bij een maximalisatie overlappen de forms nooit het menu zelf.

Nu wil ik graag weten welke property van het form hier beinvloedt wordt. Ik wil mijn eigen visuele control toevoegen, maar deze wordt dan nog overlapt door de forms.

Ik heb al de sources vergeleken met en zonder menu-items, maar zie niet direct substantiele verschillen (alleen iets van resumeLayout(), wat ook een beetje vaag is)

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

Form.ClientSize moet je gebruiken.

wat de SuspendLayout en ResumeLayout doen:
wanneer je in code
myForm.Size = new Size(500,500);
doet, worden er events afgevuurd. Deze 2 functies verhinderen resp. laten toe dat de events afgevuurd worden. Dit is een zowel performantie-issue als geen-nood-aan-events-bij-opbouw issue ;)

ASSUME makes an ASS out of U and ME


  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 27-08-2021

CaptBiele

No Worries!

Topicstarter
HIGHGuY schreef op dinsdag 10 januari 2006 @ 17:58:
Form.ClientSize moet je gebruiken.
Ja, daar had ik in eerste instantie aan gedacht. maar ik krijg hem niet aangepast.
Als ik de nieuwe size instel mbv
C#:
1
this.ClientSize = new Size(1000, 700)

dan zie ik niets veranderen. Ik wil in plaats van een mainMenu zeg maar een panel bovenin plaatsen, die de clientSize verkleint.

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

de ClientSize moet je niet aanpassen, maar uitlezen ;)

Kijk eens naar Docking, hoewel ik niet weet of dit de ClientSize aanpast.

ASSUME makes an ASS out of U and ME


  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 27-08-2021

CaptBiele

No Worries!

Topicstarter
HIGHGuY schreef op woensdag 11 januari 2006 @ 10:39:
de ClientSize moet je niet aanpassen, maar uitlezen ;)
Kijk eens naar Docking, hoewel ik niet weet of dit de ClientSize aanpast.
met docking wordt wel het gewenste resultaat bereikt, maar de ClientSize wijzigt niet, dus ik betwijfel of het hem dat wel is.....
En ik kan me niet voorstellen dat je die zelf niet kan wijzigen.

  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 27-08-2021

CaptBiele

No Worries!

Topicstarter
*schopje*

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

uit MSDN:
Remarks
The size of the client area of the form is the size of the form excluding the borders and the title bar. The client area of a form is the area within a form where controls can be placed. You can use this property to get the proper dimensions when performing graphics operations or when sizing and positioning controls on the form. To get the size of the entire form, use the Size property or use the individual properties Height and Width.
maw er bestaat geen prefab property.
het menu is ook een control en behoort dus in de client area zonder ze te verkleinen.

gebruik dus een Panel

ASSUME makes an ASS out of U and ME

Pagina: 1