Empêcher juste les valeurs de gauche et de dessus d'être éditée comme dans cet exemple. Seulement le besoin du rapport l'ajustement, mais vous devrait pouvoir figurer cela dehors.
Namespace WindowsFormsApplication2
Classe partielle publique Form1
Hérite de la forme
MAXIMUM de Const comme nombre entier = 800
La gauche privée comme nombre entier = 0, dessus comme nombre entier = 0, largeur comme nombre entier = 0, taille comme nombre entier = 0, deltaResize comme nombre entier = 0
Privé startResize comme booléen = faux
Nouveaux secondaires publics ()
InitializeComponent ()
Sous-marin d'extrémité
Sous-marin privé Form1_ResizeEnd (expéditeur comme objet, e comme EventArgs)
Si Form1.ActiveForm.Left <> partait alors
Form1.ActiveForm.Left = est parti
Finir si
Si dessus <> de Form1.ActiveForm.Top alors
Form1.ActiveForm.Top = dessus
Finir si
Si Form1.ActiveForm.Width > puis MAXIMUM
Form1.ActiveForm.Width = MAXIMUM
Finir si
Faible formResize comme nombre entier = largeur - Form1.ActiveForm.Width
Obscurcir ratioFormBar en tant que simple = le MAXIMUM/progressBar1.Width
Essai
progressBar1.Value = progressBar1.Value - CInt (Math.Floor (formResize /ratioFormBar))
Crochet
Si progressBar1.Value - CInt (Math.Floor (formResize /ratioFormBar)) <� 0="" Then=""> progressBar1.Value = 0
Finir si
Si progressBar1.Value - CInt (Math.Floor (formResize /ratioFormBar)) > MAXIMUM alors
progressBar1.Value = MAXIMUM
Finir si
Finir l'essai
Finir le sous-marin
Sous-marin privé Form1_ResizeBegin (expéditeur comme objet, e comme EventArgs)
Si Form1.ActiveForm IsNot rien alors
gauche = Form1.ActiveForm.Left
dessus = Form1.ActiveForm.Top
largeur = Form1.ActiveForm.Width
taille = Form1.ActiveForm.Height
Finir si
Finir le sous-marin
Sous-marin privé Form1_Activated (expéditeur comme objet, e comme EventArgs)
progressBar1.Value = Form1.ActiveForm.Left
progressBar1.Maximum = MAXIMUM
largeur = Form1.ActiveForm.Width
taille = Form1.ActiveForm.Height
Sous-marin d'extrémité
Sous-marin privé progressBar1_MouseDown (expéditeur comme objet, e comme MouseEventArgs)
Si e.Button = puis MouseButtons.Left
deltaResize = e.X
startResize = rectifier
Finir si
Finir le sous-marin
Sous-marin privé progressBar1_MouseUp (expéditeur comme objet, e comme MouseEventArgs)
Si e.Button = MouseButtons.Left AndAlso startResize alors
Faible mouseMovement comme nombre entier = e.X - deltaResize
Obscurcir ratioFormBar en tant que simple = le MAXIMUM/progressBar1.Width
Form1.ActiveForm.Width = Form1.ActiveForm.Width + CInt (Math.Floor (mouseMovement * ratioFormBar))
startResize = rectifier
Finir si
Finir le sous-marin
Finir la classe
Finir le namespace