Dimensionnement de Form [Résolu]

cs_Bernard74 40 Messages postés samedi 1 mars 2003Date d'inscription 26 janvier 2013 Dernière intervention - 1 avril 2010 à 10:09 - Dernière réponse : cs_Bernard74 40 Messages postés samedi 1 mars 2003Date d'inscription 26 janvier 2013 Dernière intervention
- 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
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 1 avril 2010 à 10:22
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

Merci cs_DARKSIDIOUS 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 1 avril 2010 à 10:20
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
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 1 avril 2010 à 10:26
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
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 1 avril 2010 à 10:28
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
cs_Bernard74 40 Messages postés samedi 1 mars 2003Date d'inscription 26 janvier 2013 Dernière intervention - 1 avril 2010 à 10:47
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.