Загрузка данных


using System;
using System.Windows.Forms;

namespace EshkereProekt_BochDuzh // (ТУТ ПИШЕМ СВОЕ ПРОСТРАНСТВО ИМЕН)
{
    public partial class Form1 : Form
    {
        private string fn = string.Empty;
        private bool docChanged = false;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.ScrollBars = ScrollBars.Vertical;
            textBox1.Text = string.Empty;
            this.Text = "NkEdit - Новый документ";
            // отобразить панель инструментов
            toolStrip1.Visible = true;
            ParamToolStripMenuItem1.Checked = true;
            // назначаем файл справки
            // helpProvider1.HelpNamespace = "nkedit.chm";
            // настройка компонента
            openFileDialog1.DefaultExt = "txt";
            openFileDialog1.Filter = "текст|*.txt";
            openFileDialog1.Title = "Открыть документ";
            openFileDialog1.Multiselect = false;
            // настройка компонента
            saveFileDialog1.DefaultExt = "txt";
            saveFileDialog1.Filter = "текст|*.txt";
            saveFileDialog1.Title = "Сохранить документ";
        }

        private void OpenDocument()
        {
            openFileDialog1.FileName = string.Empty;
            // отобразить диалог Открыть
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                fn = openFileDialog1.FileName;
                // отобразить имя файла в заголовке окна
                this.Text = fn;
                try
                {
                    // считываем данные из файла
                    System.IO.StreamReader sr = new System.IO.StreamReader(fn);
                    textBox1.Text = sr.ReadToEnd();
                    textBox1.SelectionStart = textBox1.TextLength;
                    sr.Close();
                }
                catch (Exception exc)
                {
                    MessageBox.Show("Ошибка доступа к файлу\n" +
                        exc.ToString(), "NkEdit",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
                }
            }
        }

        // сохранить документ
        private int SaveDocument()
        {
            int result = 0;
            if (fn == string.Empty)
            {
                // отобразить диалог Сохранить
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    // отобразить имя файла в заголовке окна
                    fn = saveFileDialog1.FileName;
                    this.Text = fn;
                }
                else result = -1;
            }
            
            // сохранить файл
            if (fn != string.Empty)
            {
                try
                {
                    // получим информацию о файле fn
                    System.IO.FileInfo fi = new System.IO.FileInfo(fn);
                    // поток для записи
                    System.IO.StreamWriter sw = fi.CreateText();
                    sw.Write(textBox1.Text);
                    sw.Close(); // закрываем поток
                    result = 0;
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.ToString(), "NkEdit", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            return result;
        }

        private void FileCreateToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (docChanged)
            {
                DialogResult dc;
                dc = MessageBox.Show(
                    "Сохранить изменения?", "NkEdit",
                    MessageBoxButtons.YesNoCancel,
                    MessageBoxIcon.Warning);
                switch (dc)
                {
                    case DialogResult.Yes:
                        if (SaveDocument() == 0)
                        {
                            textBox1.Clear();
                            docChanged = false;
                        }
                        break;
                    case DialogResult.No:
                        textBox1.Clear();
                        docChanged = false;
                        break;
                    case DialogResult.Cancel:
                        break;
                }
            }
        }

        private void FileOpenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFileDialog1.FileName = string.Empty;
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                fn = openFileDialog1.FileName;
                this.Text = fn;
                try
                {
                    System.IO.StreamReader sr = new System.IO.StreamReader(fn);
                    textBox1.Text = sr.ReadToEnd();
                    textBox1.SelectionStart = textBox1.TextLength;
                    sr.Close();
                }
                catch (Exception exc)
                {
                    MessageBox.Show("Ошибка чтения файла.\n" +
                        exc.ToString(), "NkEdit",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
                }
            }
        }

        private void FileSaveToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SaveDocument();
        }

        private void FileExitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void ParamToolStripMenuItem_Click(object sender, EventArgs e)
        {
            toolStrip1.Visible = !toolStrip1.Visible;
            ParamToolStripMenuItem1.Checked = !ParamToolStripMenuItem1.Checked;
        }

        private void ParamfontToolStripMenuItem_Click(object sender, EventArgs e)
        {
            fontDialog1.Font = textBox1.Font;
            if (fontDialog1.ShowDialog() == DialogResult.OK)
            {
                textBox1.Font = fontDialog1.Font;
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            docChanged = true;
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (docChanged)
            {
                DialogResult dc;
                dc = MessageBox.Show("Сохранить изменения?", "NkEdit",
                    MessageBoxButtons.YesNoCancel,
                    MessageBoxIcon.Warning);
                switch (dc)
                {
                    case DialogResult.Yes:
                        if (SaveDocument() != 0)
                            e.Cancel = true;
                        break;
                    case DialogResult.No:
                        break;
                    case DialogResult.Cancel:
                        e.Cancel = true;
                        break;
                }
            }
        }

        private void oProgrammaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form2 about = new Form2();
            about.ShowDialog();
        }

        private void печатьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            printDialog1.ShowDialog();
        }
    }
}