/// <summary> /// プロパティグリッドの内容からプリセットを作成する。 /// </summary> /// <returns>プリセット。プリセット名が不正な場合は null 。</returns> private Preset MakePresetFromPropertyGrid() { // プリセット名を取得 var name = textPresetName.Text; if (!Preset.IsValidName(name)) { return null; } // 字幕情報を取得 var info = propCaption.SelectedObject as CaptionInfo; if (info == null) { return null; } // プリセットを作成 var preset = new Preset(name, info.Clone()); return preset; }
/// <summary> /// 指定したプリセットでプロパティグリッドを更新する。 /// </summary> /// <param name="preset">プリセット。</param> private void UpdatePropertyGrid(Preset preset) { try { propCaption.SuspendLayout(); // プリセット名設定 textPresetName.Text = preset.Name; // プロパティグリッドのソースを設定 propCaption.SelectedObject = preset.Value.Clone(); } finally { propCaption.ResumeLayout(true); } }