private void wndFullScreen_Closing(object sender, CancelEventArgs e) { DialogResult = true; if (gamePad != null) { gamePad.CancelPollAsync(); gamePad.Dispose(); } _timer.Stop(); _timer = null; GC.Collect(); }
private void btnCancelSet_Click(object sender, RoutedEventArgs e) { IsHitTestVisible = false; tbButtonCancel.Text = "Waiting..."; _gamepad.PollAsync(); EventHandler handler = null; handler = (o, x) => Dispatcher.Invoke(delegate { Settings.Default.buttonCancel = (int)o; _gamepad.CancelPollAsync(); _gamepad.ButtonPressed -= handler; IsHitTestVisible = true; }); _gamepad.ButtonPressed += handler; }