private void Button_Save_Click(object sender, EventArgs e) { if (textBox_point_X.Text == "" || textBox_tr_CY.Text == "" || //проверяем данные текстбоксы на пустоту textBox_tr_CX.Text == "" || textBox_tr_BY.Text == "" || textBox_tr_BX.Text == "" || textBox_tr_AY.Text == "" || textBox_tr_AX.Text == "" || textBox_point_Y.Text == "") { MessageBox.Show("Заполните все поля!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); //если есть пустое поле - сообщаем об этом return; //выходим из обработчика } if (textBox_tr_CY.Text == textBox_tr_BY.Text && textBox_tr_BY.Text == textBox_tr_AY.Text && textBox_tr_AX.Text == textBox_tr_BX.Text && textBox_tr_BX.Text == textBox_tr_CX.Text) //проверяем, одинаковы ли координаты вершин { MessageBox.Show("Координаты вершин треугольника не могут быть одинаковыми", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); //если координаты одинаковы return; } XML_struct save = new XML_struct(); //создаем экземпляр структуры save.aX = textBox_tr_AX.Text; save.aY = textBox_tr_AY.Text; save.bX = textBox_tr_BX.Text; save.bY = textBox_tr_BY.Text; //заносим данные в структуру save.cX = textBox_tr_CX.Text; save.cY = textBox_tr_CY.Text; save.pointX = textBox_point_X.Text; save.pointY = textBox_point_Y.Text; SaveFileDialog Savefiledialog1 = new SaveFileDialog(); Savefiledialog1.InitialDirectory = "c:\\"; Savefiledialog1.Filter = "XML files (*.xml)|*.xml"; //фильтр Savefiledialog1.FilterIndex = 1; Savefiledialog1.RestoreDirectory = true; string path = ""; if (Savefiledialog1.ShowDialog() == DialogResult.OK) //если открыто успешно - выполняем { path = Savefiledialog1.FileName; //получаем путь из диалога FileStream fs = new FileStream(path, FileMode.Create); //создание потока XmlSerializer xml = new XmlSerializer(typeof(XML_struct)); xml.Serialize(fs, save); //сериализируем fs.Close(); //закрываем поток } }
private void button_Load_Click(object sender, EventArgs e) { try { button_Clear_Click(this, e); string path = ""; //путь XML_struct save = new XML_struct(); OpenFileDialog openFileDialog1 = new OpenFileDialog(); //создание диалога openFileDialog1.InitialDirectory = "c:\\"; openFileDialog1.Filter = "XML files (*.xml)|*.xml"; //фильтр openFileDialog1.FilterIndex = 1; openFileDialog1.RestoreDirectory = true; if (openFileDialog1.ShowDialog() == DialogResult.OK) //если открыто успешно - выполняем { path = openFileDialog1.FileName; FileStream fs = new FileStream(path, FileMode.Open); //создание потока XmlSerializer xml = new XmlSerializer(typeof(XML_struct)); save = new XML_struct(); //экземпляр цветов save = xml.Deserialize(fs) as XML_struct; //десериализируем fs.Close(); //закрываем поток textBox_tr_AX.Text = save.aX; textBox_tr_AY.Text = save.aY; textBox_tr_BX.Text = save.bX; textBox_tr_BY.Text = save.bY; //заносим считанные данные в текстбоксы textBox_tr_CX.Text = save.cX; textBox_tr_CY.Text = save.cY; textBox_point_X.Text = save.pointX; textBox_point_Y.Text = save.pointY; } else { MessageBox.Show("Выберите верный файл!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; //вывод сообщения об ошибке } } catch { MessageBox.Show("Выберите верный файл!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; //вывод сообщения об ошибке } }