depuis OP m'a remercié pour la première réponse, je garderai ça comme référence ci-dessous ..
envisager d'avoir un fil d'arrière-plan qui fait la boucle. Ajoutez ensuite un écouteur de clé dans votre projet (si vous avez Visual Studio, ouvrez l'onglet Propriétés et vérifiez les événements) en double-cliquant sur l'événement KeyPressed. Vous obtiendrez quelque chose comme ceci:
private bool keyPressed;
public MyClass() {
keyPressed = false;
Thread thread = new Thread(myLoop);
thread.Start();
}
private void myLoop() {
while (!keyPressed) {
// do work
}
}
private void MyClass_KeyPress(object sender, KeyPressEventArgs e) {
keyPressed = true;
}
}
ayant un fil Tenir compte que l'écoute pour une pression de touche, puis mis un drapeau dans votre programme que vous vérifiez dans votre boucle.
par exemple Untested
bool keyPressed = false;
...
void KeyPressed(){
Console.ReadKey();
keyPressed = true;
}
...
Thread t = new Thread(KeyPressed);
t.Start();
...
while (!keyPressed){
// your loop goes here
// or you can check the value of keyPressed while you're in your loop
if (keyPressed){
break;
}
...
}
Je ne comprends pas. Demandez-vous comment écrire une boucle infinie en C#? Essayez 'for (;;)' –
Soyez spécifique: console, winform, webform ou wpf? –
Oui, je souhaite que ce soit une boucle infinie, qui aura un événement de pression pour arrêter – Kyle