예제 #1
0
		public DialogResult ShowForm()
		{
			using (SetupForm setupForm = new SetupForm(_inputEffects, _inputModules)) {
				IInputModuleInstance[] inputModules = _inputModules.ToArray();
				if (setupForm.ShowDialog() == DialogResult.OK) {
					_inputModules = setupForm.InputModules.ToList();
					_inputEffects = setupForm.Maps.ToList();

					// Turn off any removed modules.
					var removedModules = inputModules.Except(_inputModules);
					_StopModules(removedModules);

					// Turn on any added modules.
					var addedModules = _inputModules.Where(x => !x.IsRunning);
					_StartModules(addedModules);
				}
				return setupForm.DialogResult;
			}
		}