/// <summary> /// Кнопка "Экспортировать". /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void exportButton_Click(object sender, EventArgs e) { var sfd = new SaveFileDialog(); sfd.Filter = $"Скрипт LUA (.lua)|*.lua"; sfd.DefaultExt = "lua"; try { var checkedItems = GetCheckedItemsNumbers(); DialogResult saveResult = sfd.ShowDialog(); if (saveResult == DialogResult.Cancel) { return; } string fileName = sfd.FileName; TechObjectsExporter.GetInstance() .Export(fileName, checkedItems); } catch (Exception exception) { MessageBox.Show(exception.Message, "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } this.Close(); }
/// <summary> /// Singleton /// </summary> /// <returns></returns> public static TechObjectsExporter GetInstance() { if (techObjectsExporter == null) { techObjectsExporter = new TechObjectsExporter(); } return(techObjectsExporter); }
/// <summary> /// Событие при загрузке формы. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ExportObjectsForm_Load(object sender, EventArgs e) { var names = TechObjectsExporter.GetInstance().ExportingObjectsNames; bool isEmpty = names.Length == 0; if (!isEmpty) { checkedListBox.Items.AddRange(names); exportButton.Enabled = true; } }