//Действия при загрузке окна private void Window_Loaded(object sender, RoutedEventArgs e) { var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); double valid; if (double.TryParse(config.AppSettings.Settings["Sensivity"].Value, out valid)) { Results.sensivity = valid; } Results.datas.Add(new data { x = 0, yt = 0, yp = 0, deltapath = 0 }); timer.Interval = TimeSpan.FromSeconds(Results.timing); //Устанавливаем интервал таймера progressBar.Width = this.ActualWidth; //Выставляем полоску прогресса по ширине окна Results.Height = WorkCanvas.ActualHeight - target.ActualHeight; //Вычислияем значения высоты поля с меткой и визиром Results.halfHeight = Results.Height / 2; //Чтобы не вычислять их каждый раз потом Reset(); RegWindow regWindow = new RegWindow(); //Окно регистрации regWindow.Owner = this; if (!regWindow.ShowDialog() ?? true) // ?? нужен т.к. ShowDialog() возвращает bool? { ToMainTest(); } joystickTimer.Interval = TimeSpan.FromSeconds(0.1); joystickTimer.Tick += joystickTimer_Tick_findJoystick; //начинаем искать джойстик, пока его не найдём, ничего нельзя нажать joystickTimer.Start(); }
} //Старт основного теста private void ResultButton_Click(object sender, RoutedEventArgs e) { ResultsWindow resultsWindow = new ResultsWindow(); resultsWindow.Owner = this; bool resres = resultsWindow.ShowDialog() ?? false; if (resres) //Если пользователь захотел ещё раз пройти тест, { //то подготавливаем всё для нового испытания. StartProbeButton.IsEnabled = true; StartProbeButton.Visibility = Visibility.Visible; StopProbeButton.IsEnabled = false; StopProbeButton.Visibility = Visibility.Visible; StartTestButton.Visibility = Visibility.Hidden; StartTestButton.IsEnabled = false; ToTestButton.IsEnabled = true; ToTestButton.Visibility = Visibility.Visible; progressBar.Maximum = 60; progressBar.Value = 0; timer.Tick -= timer_Tick_Move_pointer; timer.Tick -= timer_Tick_Move_target; timer.Tick -= timer_Tick_Check_60_Seconds; ResultButton.IsEnabled = false; SettingsButton.IsEnabled = true; target.Visibility = Visibility.Visible; pointer.Visibility = Visibility.Visible; Results.datas.Clear(); Results.datas.Add(new data { x = 0, yt = 0, yp = 0, deltapath = 0 }); Reset(); RegWindow regWindow = new RegWindow(); //Окно регистрации regWindow.Owner = this; if (!regWindow.ShowDialog() ?? true) // ?? нужен т.к. ShowDialog() возвращает bool? { ToMainTest(); } } else { System.Windows.Application.Current.Shutdown(); } } //Переход к результатам теста