Exemple #1
0
        //Открытие файла из система
        private void OpenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFileDialog.InitialDirectory = Environment.CurrentDirectory;
            openFileDialog.Filter           = "Graphics Files (*.grf)|*.grf"; //Шаблоны расширения файлов

            openFileDialog.FileName = "";
            //Если есть результат выбора, то получить название файла
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                fileName = openFileDialog.FileName;
            }
            else
            {
                return;
            }
            //Работа с потоком
            BinaryFormatter formatter   = new BinaryFormatter();
            Stream          stream      = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);
            InfoForSave     OpeningInfo = formatter.Deserialize(stream) as InfoForSave;

            //Настройка формы
            newMDIChild = new Form2(OpeningInfo.SizeOfForm);
            newMDIChild.SetFigure(OpeningInfo.ListOfFigures);
            stream.Close();

            newMDIChild.MdiParent = this;
            newMDIChild.Text      = Path.GetFileNameWithoutExtension(fileName);
            newMDIChild.Show();
        }
Exemple #2
0
        //Сохранение файла
        public void SaveFile(bool IsRequired)
        {
            //Шаблон расширения и начальная директория
            saveFileDialog.Filter           = "Graphics Files (*.grf)|*.grf";
            saveFileDialog.InitialDirectory = Environment.CurrentDirectory;
            //Проверка, есть ли такой файл в системе и есть ли необходимость в принудительном переименовании
            if (!System.IO.File.Exists(fileName) || IsRequired)
            {
                openFileDialog.FileName = "";
                if (saveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    fileName = saveFileDialog.FileName;
                }
                else
                {
                    return;
                }
            }

            {
                BinaryFormatter formatter = new BinaryFormatter();
                Stream          stream    = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None);

                newMDIChild = this.ActiveMdiChild as Form2;

                SavingInfo = new InfoForSave();
                SavingInfo.ListOfFigures = newMDIChild.GetFigure();
                SavingInfo.SizeOfForm    = newMDIChild.Size;

                //formatter.Serialize(stream, newMDIChild.GetFigure());
                formatter.Serialize(stream, SavingInfo);
                stream.Close();

                ActiveMdiChild.Text = Path.GetFileNameWithoutExtension(fileName);
                newMDIChild.SetIsModification(false);
            }
        }