private void скачатьToolStripMenuItem_Click(object sender, EventArgs e) { try { if (saveFileDialog1.ShowDialog() == DialogResult.Cancel) { return; } // получаем выбранный файл string filename = saveFileDialog1.FileName; var str = ""; if (KS != null) { str += "КС грамматика: " + Environment.NewLine; str += "Алфавит: " + KS.GetVTString() + Environment.NewLine; str += "Алфавит нетерминальный: " + KS.GetVNString() + Environment.NewLine; str += "Лямбда: " + KS.Lambda + Environment.NewLine; str += "Стартовый символ: " + KS.Start + Environment.NewLine; str += "Грамматика: " + KS.ToString() + Environment.NewLine; if (ChainKS != null) { str += "Цепочки: " + Environment.NewLine; foreach (var ch in ChainKS) { str += ch.Str + Environment.NewLine; } } } if (BNF != null) { str += "БНФ грамматика: " + Environment.NewLine; str += "Алфавит: " + BNF.GetVTString() + Environment.NewLine; str += "Алфавит нетерминальный: " + BNF.GetVNString() + Environment.NewLine; str += "Лямбда: " + BNF.Lambda + Environment.NewLine; str += "Стартовый символ: " + BNF.Start + Environment.NewLine; str += "Грамматика: " + BNF.ToString() + Environment.NewLine; if (ChainBNF != null) { str += "Цепочки: " + Environment.NewLine; foreach (var ch in ChainBNF) { str += ch.Str + Environment.NewLine; } } } // сохраняем текст в файл System.IO.File.WriteAllText(filename, str); MessageBox.Show("Файл сохранен"); } catch (Exception ex) { textBox1.Text += Environment.NewLine + ex.Message; } }