How to make a panel center of form, even if the size of the form is changed. Using c# windows application
- Do you want the panel to grow and shrink with the form? Or to retain it original size?Binary Worrier– Binary Worrier2010-05-18 08:18:51 +00:00Commented May 18, 2010 at 8:18
- @Binary Worrier, It should in its original size. But should be center of the form depending on size of the form.Anuya– Anuya2010-05-18 08:30:19 +00:00Commented May 18, 2010 at 8:30
Add a comment |
3 Answers
Position the panel in the center of the form using the designer, and then clear the Anchor property, so it is not anchored to any edge. This will keep it centered when the form resizes, without resizing the panel itself.
If, for some reason, you will need to position the panel in code (depending on things that happens during form load for instance) you can do something like this:
// code for initializing the panel and setting // its size goes here _thePanel.Location = new Point( this.ClientSize.Width / 2 - _thePanel.Size.Width / 2, this.ClientSize.Height / 2 - _thePanel.Size.Height / 2); _thePanel.Anchor = AnchorStyles.None; That should take care of most scenarios, I imagine.
Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint Panel1.Location = New Point(ClientSize.Width / 2 - Panel1.Size.Width / 2, ClientSize.Height / 2 - Panel1.Size.Height / 2) Panel1.Anchor = AnchorStyles.None End Sub 1 Comment
GhostCat
Please note that code only answers are discouraged. Always provide a bit of explanation around it!