Dimensionnement de Form [Résolu]

Messages postés
40
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
26 janvier 2013
- - Dernière réponse : cs_Bernard74
Messages postés
40
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
26 janvier 2013
- 1 avril 2010 à 10:47
Bonjour,
Avec ce code, je peux agrandir ou diminuer la taille des forms de mon projet, par contre je ne sais pas comment repositionner les forms, après redimmensionnement, au centre de l'écran. Il semblerait que la propriété Startposition = CenterScreen ne s'applique qu'une seule fois, au premier chargement de la form. Si quelqu'un avait une idée ....
Avec mes remerciements,
Bernard

Imports System.Drawing
.
.
Public Class XXXXX
Public Font_Redim As Decimal
Public NewSize As Decimal
.
.
Private Sub XXXXX_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Font_Redim = 0
KeyPreview = True
End Sub
.
.
Private Sub XXXXX_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.F11 Then
Font_Redim = 0.9
ChangeTaille()
End If
If e.KeyCode = Keys.F12 Then
Font_Redim = 1.1
ChangeTaille()
End If
End Sub
.
.
Private Sub ChangeTaille()
Try
For Each Formulaire As Form In My.Application.OpenForms
Formulaire.AutoScaleMode = Windows.Forms.AutoScaleMode.Font
NewSize = Formulaire.Font.Size * Font_Redim
If NewSize < 6 Then NewSize = 6
If NewSize > 16 Then NewSize = 16
Dim newFont As New Font(Formulaire.Font.Name, NewSize, Formulaire.Font.Style)
Formulaire.Font = newFont
Formulaire.StartPosition = FormStartPosition.CenterScreen ' NE MARCHE PAS
Next
Catch ex As Exception
End Try
End Sub
.
.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
112
3
Merci
Salut,

Oui le StartPosition, comme son nom l'indique, définie la position au lancement.

C'est à toi de modifier la position :
Form.left = (Screen.PrimaryScreen.Bounds.Width - Form.Width) / 2 'centre la fenêtre horizontalement
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 139 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
22 août 2018
66
0
Merci
je ne vois pas bien l'interet de centrer la form...

si tu t'amuses a agrandir la form, il est preferable de t'arranger pour ne pas que la form ne sorte de l'ecran

mais recentrer la fenetre ...


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
22 août 2018
66
0
Merci
gaffe, l'ami

PrimaryScreen, n'est pas forcéemnt l'ecran sur laquelle la form est placée.
et tous les ecrans n'ont pas necessairement les même dimensions

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
112
0
Merci
Salut,

C'est pas faux, faut alors savoir sur quel écran la fenêtre est située avant de redéfinir sa position.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
40
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
26 janvier 2013
0
Merci
Merci DARKSIDIOUS

Form.left = (Screen.PrimaryScreen.Bounds.Width - Form.Width) / 2 'centre la fenêtre horizontalement

çà fonctionne parfaitement !

Bernard
Commenter la réponse de cs_Bernard74

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.