public DialogResult ShowDialog(IWin32Window owner, out InputInfoBase inputInfo) { var dialogResult = this.ShowDialog(owner); if (dialogResult == DialogResult.OK && this.inputInfo != null) { inputInfo = this.inputInfo; return(DialogResult.OK); } else { inputInfo = null; return(DialogResult.Cancel); } }
/// <summary> /// ループの深さの変化量を取得する。 /// </summary> /// <param name="inputInfoBase">入力データ情報</param> /// <returns>ループの深さの変化量。</returns> private static int getLoopDepthVariation(InputInfoBase inputInfoBase) { if (inputInfoBase is InputInfoLoopStart inputInfoLoopStart) { return(1); } else if (inputInfoBase is InputInfoLoopEnd inputInfoLoopEnd) { return(-1); } else { return(0); } }
/// <summary> /// 入力データ情報登録フォームに必要な情報を渡して入力データ情報を作成する。 /// 作成に成功した場合はメインフォームのリストに登録する。 /// </summary> /// <param name="formEditInputInfo">入力データ情報登録フォーム。</param> private void btnNewInputInfo_Click(FormEditInputInfo formEditInputInfo) { InputInfoBase inputInfo = null; formEditInputInfo.variableNameList = this.getVariableNameList(); formEditInputInfo.availableVariableMap = this.getAvailableVariableMap(); // フォームを開いて結果を受け取る DialogResult dialogResult = formEditInputInfo.ShowDialog(this, out inputInfo); if (dialogResult == DialogResult.OK && inputInfo != null) { listInputInfo.Add(inputInfo); if (inputInfo.GetType() == typeof(InputInfoLoopStart)) { loopDepth++; } } showListInputInfo(); }