Поскольку вы привязываете свой выбор к переменной компонента «StartingYear». Вам необходимо привязать значение компонента к исходному значению, которое вы хотите установить.
Если это статическое значение, используйте этот код:
StartingYear = "1";
Если оно из служебной переменной, установите его следующим образом:
StartingYear = this.data.StartingYearValue;
Закрытие консольного приложения C++ с "x" в верхнем углу бросает CTRL_CLOSE_EVENT
который Вы могли поймать и обработать при установке обработчика управления с помощью функции SetConsoleCtrlHandler. Там Вы могли переопределить близкую функциональность и выполнить то, что Вы хотели сделать, и затем дополнительно все еще выполнить поведение по умолчанию.
Я предполагаю, что консольный процесс просто просто уничтожается ОС. Если Вы хотите захватить это событие и сделать что-то, что похоже, что функция SetConsoleCtrlHandler является способом сделать это.
См. также:
На Linux и других системах Unix, консоль работает как отдельный процесс. Поскольку Вы закрываете оболочку, она отправляет сигнал SIGHUP в в настоящее время активный процесс или процессы, которые не выполняются в фоновом режиме. Если программист не обрабатывает его, процесс просто завершается. Тот же сигнал отправляется, если Вы закрыли сеанс SSH с терминалом и активным процессом.