How to make 开发者_开发百科a panel center of form, even if the size of the form is changed. Using c# windows application
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.
set its Anchor property to None :
this.panel1.Anchor = System.Windows.Forms.AnchorStyles.None;
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
精彩评论