/// <summary> /// プロセスコントロールをコンテナにセットする /// </summary> /// <param name="ctrl"></param> private void AddProcessControl(ProcessBaseControl ctrl) { try { ctrl.Init(RootProjectModel, CurrentProjectModel, ProcessModel); ctrl.Anchor = (((((AnchorStyles.Top | AnchorStyles.Bottom) | AnchorStyles.Left) | AnchorStyles.Right))); ctrl.Width = ContainerPanel.Width; ctrl.Height = ContainerPanel.Height; ctrl.Location = new Point(0, 0); ctrl.SetBaseValues(ProcessModel); ContainerPanel.Controls.Add(ctrl); } catch (Exception ex) { throw Program.ThrowException(ex); } }
/// <summary> /// 処理タイプをセットする /// </summary> private void SetProcessType() { try { if (ContainerPanel.Controls.Count > 0 && ContainerPanel.Controls[0] is ProcessBaseControl) { ProcessBaseControl ctrl = (ProcessBaseControl)ContainerPanel.Controls[0]; if (ctrl.ValidRadio.Checked) { ProcessModel.ValidType = ValidType.効; } else { ProcessModel.ValidType = ValidType.無効; } ProcessModel.BeforeWaitMilliTime = (int)ctrl.BeforeWaitTimeUpDown.Value; ProcessModel.AfterWaitMilliTime = (int)ctrl.AfterWaitTimeUpDown.Value; ProcessModel.NextProcess = (ProcessModel)ctrl.CompButton.Tag; ProcessModel.ErrorProcess = (ProcessModel)ctrl.ErrorButton.Tag; } ContainerPanel.ClearControls(); switch (_processType) { case ProcessType.検出: { DetectRadio.Checked = true; AddProcessControl(new DetectControl()); } break; case ProcessType.キーボード入力: { KeyboardInputRadio.Checked = true; AddProcessControl(new KeyboardInputControl()); } break; case ProcessType.マウス入力: { MouseInputRadio.Checked = true; AddProcessControl(new MouseControl()); } break; case ProcessType.待機: { WaitRadio.Checked = true; AddProcessControl(new WaitControl()); } break; case ProcessType.メール送信: { MailSendRadio.Checked = true; AddProcessControl(new MailSendControl()); } break; case ProcessType.アプリ実行: { AppStartRadio.Checked = true; AddProcessControl(new AppControl()); } break; case ProcessType.数: { VariableRadio.Checked = true; AddProcessControl(new VariableControl()); } break; case ProcessType.ファイルフォルダー処理: { FileFolderRadio.Checked = true; AddProcessControl(new FileFolderControl()); } break; case ProcessType.ダイアログ: { DialogRadio.Checked = true; AddProcessControl(new DialogControl()); } break; case ProcessType.Excel: { ExcelRadio.Checked = true; AddProcessControl(new ExcelControl()); } break; } OnProcessTypeChange?.Invoke(_processType); } catch (Exception ex) { throw Program.ThrowException(ex); } }