2010-11-30 4 views
3

J'ai un formulaire visuel de base 2010 avec diverses boîtes de groupe, boutons et étiquettes. Je veux être en mesure d'avoir la forme maximisée, mais quand je fais cela les contrôles restent où ils sont et ils ne sont pas redimensionnés avec le formulaire. Je veux les redimensionner proportionnellement avec le formulaire. Toute aide serait appréciée.Comment faire pour mettre à l'échelle les contrôles sur un formulaire pour adapter le formulaire proportionnellement?

+0

Aucun utilisateur interface ressemble toujours à ça. Mais vous l'obtiendrez en utilisant la propriété Anchor, ancre en bas et à droite aussi. –

+0

bien l'ancre fonctionnerait pour certaines des choses, mais basique gauche, droite, haut et bas ne sera pas suffisant pour ce que j'essaie de faire – slister

+0

j'avais posté une réponse, il donne un bon résultat pour moi – Suji

Répondre

1

En fait, j'ai fini par utiliser le panneau de disposition de la table pour organiser tout en proportion avec la taille de l'écran. Cela fonctionne plutôt bien si vos contrôles sont disposés dans une grille.

2

Vous pouvez définir la position et la taille des contrôles de l'événement ResizeEnd ou Resize, en fonction de la taille du formulaire. Vous devrez vous assurer qu'il ne plante pas lorsque le formulaire est réduit ou rendu très petit.

+0

@ xpda: juste essayer mon code – Suji

1

Soit form1 est la forme,

gb_check être une boîte de groupe à l'intérieur de la forme

la height, location and width du Groupbox peut être faire par rapport à la taille de la forme comme suit

Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize 
      gb_chek.Height = (Me.Height * 30)/100 'what ever be the form height the group box's height is always 30% of the form size 
      gb_chek.Width = (Me.Width * 40)/100 'what ever be the form width the group box's width is always 40% of the form size 
      gb_chek.Location = New Point((Me.Width)/18, (Me.Height)/12)' set the location of the form relative to form size; 
End Sub 

Si vous avoir des contrôles à l'intérieur de la boîte de groupe sa taille définie par rapport à la boîte de groupe

0

C'est la bonne façon! Afin d'avoir un affichage correct pour chaque résolution d'écran, utilisez les mises en page fournies dans le framework .net! Vous n'avez pas besoin d'éditer une marge ou quoi que ce soit.

0

res Dim As New SizeF (Screen.PrimaryScreen.WorkingArea.Width/Me.Size.Width, Screen.PrimaryScreen.WorkingArea.Height/Me.Size.Height) Me.Scale (res)

Questions connexes