// Даёт возможность сохранять структуру делева в файл public void SaveTree(string fileName) { try { BinaryFormatter bin = new BinaryFormatter(); STreeNode strToBeGone = STROperation.fnPrepareToWrite(this.stepTree); FileStream fTree = new FileStream(fileName, FileMode.Create, FileAccess.Write); bin.Serialize(fTree, strToBeGone); fTree.Close(); } catch (IOException ex) { MessageBox.Show(ex.Message, "Save StepTree Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
// Загружает структуру дерева из файла (здесь не используется, но может пригодиться) public void LoadTree(string fileName) { this.stepTree.Nodes[0]?.Remove(); try { BinaryFormatter bin = new BinaryFormatter(); this.stepTree.Nodes.Clear(); FileStream fTree = new FileStream(fileName, FileMode.Open, FileAccess.Read); STreeNode str = (STreeNode)bin.Deserialize(fTree); fTree.Close(); TreeNode trParent = STROperation.fnPrepareToRead(str); foreach (TreeNode trn in trParent.Nodes) { this.stepTree.Nodes.Add(trn); } } catch (IOException ex) { MessageBox.Show(ex.Message, "ABS Treereader", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } this.stepTree.ExpandAll(); }