BadoqueAlex
Messages postés129Date d'inscriptionmardi 20 juillet 2004StatutMembreDernière intervention 6 juin 2009
-
22 mai 2008 à 12:20
Utilisateur anonyme -
22 mai 2008 à 20:19
Bonjour,
J'ai un petit problème sur lequel je bloque depuis 3 jours :(
J'ai créé un code pour pouvoir bouger mes controles au runtime. Cependant, je ne sais pas comment faire pour que lorsque je bouge mes controles, ils soient alignés sur une grille.
J'ai regardé sur le net et je ne trouve pas de code comme ca :(
Dim x, y As Integer
Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseDown
If e.Button = MouseButtons.Left Then
x = e.X
y = e.Y
End If
End Sub
Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseMove
If e.Button = MouseButtons.Left Then
PictureBox1.Left += ((e.X - x) \ 32) * 32
PictureBox1.Top += ((e.Y - y) \ 32) * 32
End If
End Sub
jimy neutron
Messages postés491Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 20161 22 mai 2008 à 12:59
Salut,
Je n'ai pas la solution, mais peut-être une idée:
Si le TOP d'un control est egal à , par exemple, 3280, le forcer à être egale à la centaine superieurek, soit 3300, si il est égal à 4230, le forcer à être égale à 4200, c'est en gros ignorer les dixaines...(Idem pour le LEFT)
Au moment de déplacer ton contrôle, tu divise ses coordonnées par la taille de ta grille, tu en garde que la partie entière et tu remultiplie pas la taille de ta grille.
BadoqueAlex
Messages postés129Date d'inscriptionmardi 20 juillet 2004StatutMembreDernière intervention 6 juin 2009 22 mai 2008 à 19:44
Merkiiii ca fonctionne :) Mais une dernière chose : Comment vérrifier qu'un controle est bien aligné sur la grille ? verrifier si ses coordonnées sont multiples de 32 ?