В следующей картине, когда я нажмите File-> New Game Я вижу это окно: ошибка при выходе из окна
Если я продолжать и нажмите Start Game, все прекрасно работает. Но если я просто нажмите на красный крестик, я получаю эту ошибку:
Это код File-> New Game:
private: System::Void newGameToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
NG->ShowDialog();
ShowPossible();
update_score();
if(pc_exists()==1)
ComputerPlay();
}
NG->ShowDialog()
показывает диалоговое окно New Game.
А затем ShowPossible()
показывает что-то на доске (подсказки для возможных ходов). И вот что создает проблемы. Мне нужен код, который заканчивается с newGameToolStripMenuItem_Click()
на X-клике, а не на ShowPossible()
.
Я попытался сделать глобальную переменную ready
в виде NewGame
и в виде нагрузки инициализируется его с 0, и только тогда, когда я нажимаю Start Game получается 1. И, наконец, добавил это условие в функции выше:
...
if(ready)
ShowPossible();
...
Так что, если я не нажму Начать игру, и только щелкните X, ready
будет 0, и он не войдет в ShowPossible()
. Но это не сработало. Как-то, когда код кнопки «Начало игры» заканчивается, готово все равно 0.
Есть ли более эффективный способ справиться с этим?
Спасибо!
[ 'ShowDialog'] (HTTP: //msdn.microsoft.com/en-us/library/c7ykbedk(v=vs.110).aspx) Возвращаемое значение Тип: System.Windows.Forms.DialogResult Одно из значений DialogResult. – chris
Нажмите «break» и посмотрите, где ошибка в отладчике. –
@RetiredNinja Но я сказал, что проблема в том, что он переходит в ShowPossible(). Думаю, это означает, что я щелкнул 'break'. –