Всем привет,
Сегодня мы будем делать редактор текстовых файлов, который будет уметь открывать уже существующие файлы и создать новые txt-файлы.
Кому читать дальше лень, могут скачать готовый проект [download-attachment id=»244″ title=»SimpleTextEditor»]
Поехали!
1)Создаем WinForms проект называем его, например, WinFormsApp_SimpleTextEditor
2) Кидаем на форму textBox и 2 кнопки, св-во name 1 кнопки = buttonOpen, 2-ой кнопки name = buttonSave.
+Anchor: bottom,right — для обеих кнопок.
textBox св-ва:
Anchor: Top, Bottom,Left,Right
ScrollBars: Vertical
На выходе должно получиться так:
3) Теперь кидаем на форму 2 диалоговых окна:
OpenFileDialog — св-ва:
+очищаем FileName,
+задаем для title значение «OPEN»
SaveFileDialog — св-ва:
+для title значение «SAVE»
Нажимаем 2 раза на кнопку Open и переходим в код:
пишем следующее:
private void buttonOpen_Click_1(object sender, EventArgs e) { if (openFileDialog1.ShowDialog()== DialogResult.OK) //Проверяем был ли выбран файл { textBox1.Clear(); //Очищаем textBox openFileDialog1.Filter = "Text Files (*.txt)|*.txt"; //Указываем что нас интересуют только текстовые файлы string fileName = openFileDialog1.FileName; //получаем наименование файл и путь к нему. textBox1.Text = File.ReadAllText(fileName, Encoding.GetEncoding(1251)); //Передаем содержимое файла в textBox } }
———————
Теперь «Сохранение»:
———————
private void buttonSave_Click_1(object sender, EventArgs e) { saveFileDialog1.Filter = "Text Files|*.txt";//Задаем доступные расширения saveFileDialog1.DefaultExt = ".txt"; //Задаем расширение по умолчанию if (saveFileDialog1.ShowDialog() == DialogResult.OK) //Проверяем подтвердение сохранения информации. { var name = saveFileDialog1.FileName; //Задаем имя файлу File.WriteAllText(name, textBox1.Text,Encoding.GetEncoding(1251)); //Записываем в файл содержимое textBox с кодировкой 1251 } textBox1.Clear(); }
Запускаем — проверяем сохранение:
Теперь открывает ранее сохраненный файл:
Все работает!
Если у тебя тоже получилось, ставь лайк.
Выдает ошибку на File.ReadAllText и File.WriteAllText.
Пришлось заменить функцию.
Спасибо, в ближайшее время посмотрю и внесу правки.
А на какие функции заменили, не подскажете? 🙂
Подключите к файлу using System.IO;