2010-05-18 5 views
18

Comment faire un panneau de centre de forme, même si la taille du formulaire est modifiée. Utilisation de l'application C# windowsComment faire un panneau de forme?

+0

Voulez-vous que le panneau de grandir et rétrécir la forme? Ou pour conserver sa taille d'origine? –

+0

@Binary Worrier, Il devrait dans sa taille d'origine. Mais devrait être le centre de la forme en fonction de la taille de la forme. – Anuya

Répondre

36

Positionnez le panneau au centre du formulaire à l'aide du concepteur, puis désactivez la propriété Anchor pour qu'il ne soit pas ancré à un bord. Cela le maintiendra centré lorsque le formulaire sera redimensionné, sans redimensionner le panneau lui-même.

Si, pour une raison quelconque, vous devez placer le panneau dans le code (en fonction des choses qui se passe pendant la forme de charge par exemple), vous pouvez faire quelque chose comme ceci:

// 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; 

Cela devrait prendre soin de la plupart des scénarios, j'imagine.

+0

Mon panneau a beaucoup de contrôles dedans. Cette application fonctionnera dans de nombreux systèmes où la résolution varie. Donc, dans ce cas, la position du panneau est différente pour différents systèmes. – Anuya

+0

@karthink: voir la mise à jour de la réponse. –

+0

Excellent! Je n'avais aucune idée que vous pouviez retirer entièrement les ancres. –

3

définir sa propriété Anchor None:

this.panel1.Anchor = System.Windows.Forms.AnchorStyles.None; 
0
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 
+2

Veuillez noter que les réponses au code uniquement sont déconseillées. Toujours fournir un peu d'explication autour d'elle! – GhostCat

Questions connexes