Jeromedu79
Messages postés119Date d'inscriptiondimanche 9 janvier 2011StatutMembreDernière intervention23 décembre 2012
-
22 août 2011 à 14:56
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
24 août 2011 à 20:50
Bonjour,
Depuis 2 jours, je cherche à exécuté une boucle while sans perdre la main.
Je m'explique :
Voici mon code
Public Class boucle
Public Shared Touche As Boolean = False
Public Shared Sub boucler(ByVal objet As Panel)
While Touche = False
' partie du code qui s’exécute tant que Touche n'est pas à True
End While
End Sub
End Class
Mais voila, pendant que cette boucle tourne, je voudrais avoir la main sur ma form,
plus précisément, pouvoir exécute une partie de mon code qui est un déplacement d'un panel grâce au touche "ZQSD" :
#Region "Déplacement"
Private Sub Touche(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyClass.KeyDown
If e.KeyCode = Keys.Z Then
Select Case Y2
Case True
XLeft2 = XLeft2 - 2
XLeft1 = XLeft2
Panel1.Location = New Point(Panel1.Location.X, XLeft2)
Case False
XLeft2 = Panel1.Location.Y - 2
XLeft1 = XLeft2
Panel1.Location = New Point(Panel1.Location.X, XLeft2)
Y2 = True
End Select
End If
If e.KeyCode = Keys.S Then
Select Case Y1
Case True
XLeft1 = XLeft1 + 2
XLeft2 = XLeft1
Panel1.Location = New Point(Panel1.Location.X, XLeft1)
Case False
XLeft1 = Panel1.Location.Y + 2
XLeft2 = XLeft1
Panel1.Location = New Point(Panel1.Location.X, XLeft1)
Y1 = True
End Select
End If
If e.KeyCode = Keys.D Then
Select Case X1
Case True
Xright1 = Xright1 + 2
Xright2 = Xright1
Panel1.Location = New Point(Xright1, Panel1.Location.Y)
Case False
Xright1 = Panel1.Location.X + 2
Xright2 = Xright1
Panel1.Location = New Point(Xright1, Panel1.Location.Y)
X1 = True
End Select
End If
If e.KeyCode = Keys.Q Then
Select Case X2
Case True
Xright2 = Xright2 - 2
Xright1 = Xright2
Panel1.Location = New Point(Xright2, Panel1.Location.Y)
Case False
Xright2 = Panel1.Location.X - 2
Xright1 = Xright2
Panel1.Location = New Point(Xright2, Panel1.Location.Y)
X2 = True
End Select
End If
End Sub
#End Region
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 24 août 2011 à 20:50
D'après ce que j'ai compris des threads, leur programme ne peut pas avoir accès aux objets du projet.
C'est un peu comme se comporte une fonction dans une DLL.