while (TOGGLE == false) {
if (Keyboard.IsKeyDown(Key.A)) { RESULT = RESULT + "A";}
if (Keyboard.IsKeyDown(Key.B)) { RESULT = RESULT + "B"; MessageBox.Show(RESULT); }
if (Keyboard.IsKeyDown(Key.C)) { RESULT = RESULT + "C"; MessageBox.Show(RESULT); }
}
Хорошо, поэтому, когда я нажимаю кнопку B или C, все работает нормально, и оно добавляет слово к переменной строки RESULT, но когда я нажимаю A, она добавит бесконечное количество A в Строка RESULT. Что я делаю не так?C# While Loop issues
EDIT: Я знаю, что не устанавливаю TOGGLE в false. Но в этом смысл! Я объясню лучше: это приложение будет работать в фоновом режиме. Поэтому, когда клиент записывает в блокнот, эта программа будет обнаруживать каждый отдельный ключ, который он нажал, и добавлять его в строку RESULT. Я не хочу, чтобы этот цикл был остановлен, как только нажата клавиша. Я хочу, чтобы он зацикливался до тех пор, пока клиент не закончил писать в блокноте (это когда я установил TOGGLE в false).
Вы не изменяете значение «TOGGLE» в любом месте вашего кода, даже при нажатии 'B', оно должно продолжаться бесконечно * после отображения окна сообщения. – Habib
Когда вы меняете 'TOGGLE'? –
Это то, что называется бесконечным циклом. Поскольку вы нажимаете 'MessageBox', когда вы нажимаете' b' или 'c', он отображает« RESULT »после добавления только одного символа в сообщение. При нажатии 'a', он будет добавлять' A' к сообщению несколько раз, пока ключ не работает. –