Bonjour,
Je sollicite votre aide car je n'arrive pas à faire la chose suivante :
J'ai un ensemble de RectangleShape dans une form appelé Case1, Case2, Case3, ...., Case13
Ce que je souhaiterais, c'est que sur un évènement mousedown sur un de ces rectangle, je passe dans une fonction qui modifie la position de ce dernier.
Actuellement, pour chaque rectangle shape je fais la chose suivante :
(InitLoc1 est initialisé au load de ma form).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub Case1_Click(sender As Object, e As EventArgs) Handles Case1.MouseDown If Case1.Location <> InitLoc1 Then Case1.Location = InitLoc1 Else Case1.Top = Case1.Location.Y - 90 End If End Sub
Du coup plutôt que d'écrire 13 fois la même chose, je souhaiterai passer dans une fonction ou sub.
J'imaginais en gros la chose suivante :
Bien sûr ça ne fonctionne pas comme ça, mais c'est pour vous donner une idée de ce que j'aimerai faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub Case1_Click(sender As Object, e As EventArgs) Handles Case1.MouseDown MoveRect(1) End Sub Private Sub MoveRect(NumRect as integer) If Case(NumRect).Location <> InitLoc(NumRect) Then Case(NumRect).Location = InitLoc(NumRect) Else Case(NumRect).Top = Case(NumRect).Location.Y - 90 End If End sub
J'ai également essayé avec
Mais la mon souci est pour récupérer la variable InitLoc en fonction du nom.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 For Each c As Control In Me.Controls If c.name = "Case" & NumRect c.location = .... Next
Et en plus ça n'a pas l'air de fonctionner avec des rectangleshape.
Auriez vous des pistes à me donner ?
Merci d'avance
Partager