Dimensionnement de Form [Résolu]

Signaler
Messages postés
40
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
26 janvier 2013
-
Messages postés
40
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
26 janvier 2013
-
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
.
.

5 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
103
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
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
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
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
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
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
103
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
Messages postés
40
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
26 janvier 2013

Merci DARKSIDIOUS

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

çà fonctionne parfaitement !

Bernard