/// <summary>Загрузить параметры отображения из XML и присвоить форме /// </summary> public static void LoadFromXML(Form form, string xml, FormOptionsSetType setType = FormOptionsSetType.All) { if (form == null) { return; } FormsConfig.CreateFromXML(xml)?.SetToForm(form, setType); }
/// <summary>Загрузить параметры отображения из файла и присвоить форме /// </summary> public static void LoadFromFile(Form form, string fileName = "", FormOptionsSetType setType = FormOptionsSetType.All) { if (form == null) { return; } FormsConfig.CreateFromFile(fileName)?.SetToForm(form, setType); }
/// <summary>Изменить/добавить параметры отображения формы в строке настроек форм (xml) /// </summary> public static string GetInXML(Form form, string xml) { if (form == null) { return(xml); } FormsConfig config = FormsConfig.CreateFromXML(xml); if (config == null) { return(xml); } config.GetFromForm(form); return(config.GetXML() ?? xml); }
/// <summary>Сохранить параметры отображения формы в файле (изменить существующие) /// </summary> public static void SaveToFile(Form form, string fileName = "") { if (form == null) { return; } FormsConfig config = FormsConfig.CreateFromFile(fileName); if (config == null) { return; } config.GetFromForm(form); config.Save(); }
internal static FormsConfig CreateFromXML(string xml) { FormsConfig config = null; if (!string.IsNullOrWhiteSpace(xml)) { try { config = OptionsSerializer.LoadXML <FormsConfig>(xml); } catch (Exception ex) { Loger.SendMess(ex, $"Ошибка загрузки параметров форм из строки"); xml = null; } } if (string.IsNullOrWhiteSpace(xml)) { config = new FormsConfig(); } return(config); }
/// <summary>Заполняет контейнер параметров форм из файла. Если файла нет - создает новый. /// </summary> /// <param name="fileName">имя файла, по умолчанию: Forms + имя приложения.xml</param> /// <returns>контейнер параметров форм</returns> internal static FormsConfig CreateFromFile(string fileName = "") { FormsConfig config = null; if (string.IsNullOrWhiteSpace(fileName)) { fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Forms" + Path.GetFileNameWithoutExtension(AppDomain.CurrentDomain.FriendlyName) + ".xml"); } try { if (!File.Exists(fileName)) { OptionsSerializer.Save(fileName, new FormsConfig()); } config = OptionsSerializer.Load <FormsConfig>(fileName); if (config != null) { config.fileName = fileName; } } catch (Exception ex) { Loger.SendMess(ex, $"Ошибка загрузки параметров форм из файла {fileName}"); } return(config); }