Bonsoir,
Je bouge un ensemble de controles avec un evenement Me.KeyDown.
Je voudrais arreter le mouvement de cet ensemble de controles lorsque je depasse une certaine limite.
Bref, un code du genre:
Bon, bien sur, ce code est minable; mais en fait, je cherche une certaine methodologie pour accomplir cette idee (avec un seul controle a gerer, c'est plus facile).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Select Case e.KeyCode Case Keys.Up For Each ctrl As Control In mainPanel.Controls ctrl.Location = New Point(ctrl.Left, ctrl.Top - 2) Next If ctrl.Location.Y (d'au moins un controle)< 0 Then On bloque l'ensemble. For Each ctrl As Control In mainPanel.Controls ctrl.Location = New Point(ctrl.Left, ctrl.Top + 2) Next EndIf ...
Une idee ou une piste a suivre?
En fait, en posant la question, j'ai trouve ce moyen qui semble marcher:
Mais, si vous avez une meilleure idee, je suis preneur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Case Keys.Up Dim fOut As Boolean = False For Each ctrl As Control In mainPanel.Controls ctrl.Location = New Point(ctrl.Left, ctrl.Top - 2) If ctrl.Location.Y < 0 Then fOut = True Next If fOut = True Then For Each ctrl As Control In mainPanel.Controls ctrl.Location = New Point(ctrl.Left, ctrl.Top + 2) Next End If
A+
JLuc01
Partager