Positionnement "presque" aléatoire des Controls par code
Re bonsoir,
je reviens déjà ...
J'ai ramé tout l'après midi et je viens de découvrir le hic.
Pour mon application, toute basique, j'ai un Form avec 5 TextBox pré remplis et 6 boutons qui ont/auront leurs utilités. Je crée par code un Panel, dans lequel je positionne, toujours par code, des Controls. Jusque là tout va bien, sauf que, quand j'ajoute des Controls, j'ai des résultats étonnants, sûrement normal, mais ça me laisse quelque peu dubitatif.
Le panel est AutoSize False, AutoScroll True. Quand le nombre de Controls fait apparaître l'AutoScroll, si je demande plus de Controls sans bouger la barre de défilements, ceux-ci se placent comme il faut, mais si j'ai descendu la barre de défilement au dernier Control, le point de référence du Panel semble ne plus être le même ? J'ai des blancs entre les Controls, qui semblent correspondre au nombre de Controls que j'ajoute et qui s'incrémentent ??? Quelle est la propriété du Panel ou des Controls qui me fait défaut ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| Public Class Form1
Dim bouton(4) As Button
Dim positionX As Integer = 10
Dim positionY As Integer = 10
Dim nbNewBouton As String
Dim i As Integer
Const nbBoutonBase As Integer = 4
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
tableau()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_ajoutBoutons.Click
nbNewBouton = InputBox("indiquer le nombre de nouveau(x) bouton(s)")
For Me.i = 0 To CType(nbNewBouton, Integer) - 1
poseBoutons()
Next
End Sub
Sub tableau()
For Me.i = 0 To nbBoutonBase
poseBoutons()
Next
End Sub
Sub poseBoutons()
bouton(i) = New Button
With bouton(i)
.Location = New Point(positionX, positionY)
.Size = New Size(100, 25)
.Text = "X=" & positionX.ToString & " Y=" & positionY.ToString
End With
Me.Panel1.Controls.Add(bouton(i))
positionY += 35
End Sub
End Class |
Merci de vos lumières
Pieche