/// <summary> /// 引数のプロセスの実行に関する情報(<paramref name="startProcessInfo"/>)で初期化を行う /// </summary> /// <param name="startProcessInfo">プロセスの実行に関する情報</param> private void Initialize(StartProcessInfo startProcessInfo = null) { // 引数のプロセスの実行に関する情報をプロパティに設定 CurrentStartProcessInfo = startProcessInfo; StartInfo = startProcessInfo?.DeepCopy() ?? new StartProcessInfo(); StartProcessInfo info = StartInfo.DeepCopy(); // 起動パスの値が存在する場合はその値を設定する if (!string.IsNullOrWhiteSpace(info.ProcessPath)) { TxtPath.Text = info.ProcessPath; } // 起動パラメータの値が存在する場合はその値を設定する if (!string.IsNullOrWhiteSpace(info.StartupParam)) { TxtParam.Text = info.StartupParam; } // ディレイの値が存在する場合はその値を設定する if (info.WaitDelay.HasValue) { TxtDelay.Value = info.WaitDelay.Value; // 使用しないのチェックを外す ChkDelay.Checked = false; } else { // ディレイ入力のテキストボックスの初期値は現在デフォルトで使用されるディレイの値を設定する TxtDelay.Value = StartProcess.WaitDelay; // 使用しないのチェックを入れる ChkDelay.Checked = true; } // サイズ位置の値が存在する場合はその値を設定する if (info.SizePoint != null) { TxtSizeWidth.Value = info.SizePoint.SizeWidth; TxtSizeHeight.Value = info.SizePoint.SizeHeight; TxtPositionX.Value = info.SizePoint.PositionX; TxtPositionY.Value = info.SizePoint.PositionY; // 使用しないのチェックを外す ChkSizePosition.Checked = false; } else { // サイズ位置のテキストボックスの初期値は0を設定する TxtSizeWidth.Value = 0; TxtSizeHeight.Value = 0; TxtPositionX.Value = 0; TxtPositionY.Value = 0; // 使用しないのチェックを入れる ChkSizePosition.Checked = true; } }
/// <summary> /// 操作設定のコントロールを引数の設定データ(<paramref name="settingData"/>)で /// 初期化したコントロールを取得する /// </summary> /// <param name="settingData">設定データ</param> /// <returns> /// 操作設定のコントロールを引数の設定データ(<paramref name="settingData"/>)で /// 初期化したコントロール /// </returns> public Control GetInitializeControl(string settingData) { // 引数の設定データからプロセスの実行に関する情報を生成する StartProcessInfo startProcessInfo = new StartProcessInfo(); startProcessInfo = startProcessInfo.ConvertFromString(settingData ?? string.Empty); // プロセスの実行に関する情報で初期化を行い、このコントロールを返却する Initialize(startProcessInfo); return(this); }
/// <summary> /// 設定データの概要を示すテキストを取得する /// </summary> /// <param name="settingData">設定データ</param> /// <returns>設定データの概要を示すテキスト</returns> public string GetSummaryText(string settingData) { // 引数の設定データからプロセスの実行に関する情報を生成する StartProcessInfo startProcessInfo = new StartProcessInfo(); startProcessInfo = startProcessInfo.ConvertFromString(settingData ?? string.Empty); // プロセスの実行に関する情報を文字列に変換する // 起動するファイルのパス string fileName; try { fileName = Path.GetFileName(startProcessInfo.ProcessPath); } catch (ArgumentException) { // 設定値がファイルパス形式出ない場合は設定値をそのまま使用する fileName = startProcessInfo.ProcessPath; } // 起動したプロセスの位置とサイズ string sizePoint = startProcessInfo.SizePoint?.ToString(); // 設定値の概要を生成する StringBuilder convertValue = new StringBuilder(); convertValue.Append(fileName ?? string.Empty); convertValue.Append(" | "); convertValue.Append(sizePoint ?? string.Empty); // 概要文字列を生成し返却する return(string.Format( CultureInfo.InvariantCulture, StartProcessSettingMessage.SummaryTextFormat, convertValue.ToString())); }
/// <summary> /// コンストラクタ /// 各コントロールの初期化を行う /// </summary> /// <param name="startProcessInfo">プロセスの実行に関する情報</param> public StartProcessSetting(StartProcessInfo startProcessInfo) : this() { // 画面の各コントロールの初期化を行う Initialize(startProcessInfo); }