Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 10

Автоматическое сохранение файла

20.11.2017, 15:52. Показов 4118. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, я сейчас учусь в институте и у нас началось программирование C# на платформе SharpDevelop. У нас было общее задание по теме "Изучение технологии использования диалоговых окон, и работу с файловой системой". Для всех общее задание было написание простого тестового редактора с функции открывания и сохранения rtf файлов. По методичке всё это сделал, а вот на индивидуальном задании я запоролся. Оно выглядит так: "Добавить автоматическое сохранения файла, при каждом его изменении. О результате сохранения вывести информацию в строку статуса.".
Как я понял, его надо выполнять через функцию KeyPress и логический я понимаю что это делается через оператор if, а именно на языке "юзверя" выглядит так: если происходит нажатие клавиши, происиходит автоматическое сохранение файла. Но как это добавить в код, мозгов не хватает. Подскажите как это сделать или хотя бы дайте наводку на какую-нибудь документацию где это можно найти.
Ах да, собственно сам код, который был "создан" на занятии

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/*
 * Created by SharpDevelop.
 * User: student
 * Date: 11.11.2017
 * Time: 10:38
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
 
namespace pr5
{
    /// <summary>
    /// Description of MainForm.
    /// </summary>
    public partial class MainForm : Form
    {
        public MainForm()
        {
            //
            // The InitializeComponent() call is required for Windows Forms designer support.
            //
            InitializeComponent();
            
            //
            // TODO: Add constructor code after the InitializeComponent() call.
            //
        }
        
        string filename;        
        void СохранитьToolStripMenuItemClick(object sender, EventArgs e)
        {
        
        saveFileDialog1.Filter = "rtf files (*.rtf)|*.rtf";
        saveFileDialog1.RestoreDirectory = true ;
            
            if(saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                if (saveFileDialog1.FileName != ""){
                    richTextBox1.SaveFile(saveFileDialog1.FileName);
                }
            }
        }
        
        void ОткрытьToolStripMenuItemClick(object sender, EventArgs e)
        {
        openFileDialog1.InitialDirectory = "c:\\" ;
        openFileDialog1.Filter = "rtf files (*.rtf)|*.rtf";
        openFileDialog1.RestoreDirectory = true ;
        
        if(openFileDialog1.ShowDialog() == DialogResult.OK)
        {
        try
        {
            if (openFileDialog1.OpenFile() != null)
            {
            filename = openFileDialog1.FileName;
            richTextBox1.LoadFile(filename);
            toolStripStatusLabel1.Text = openFileDialog1.FileName;
            
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show("Ошибка: Не получается прочитать файл, подробнее: " + ex.Message);
        }
        }   
        }
        
        void ToolStripStatusLabel1Click(object sender, EventArgs e)
        {
            
        }
        
        void StatusStrip1ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            
        }
        void MenuStrip1ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
    
        }
        void MainFormLoad(object sender, EventArgs e)
        {
            
        
        }
        void MainFormKeyPress(object sender, KeyPressEventArgs e)
        {
    
        }
        void RichTextBox1KeyPress(object sender, KeyPressEventArgs e)
        {
    
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.11.2017, 15:52
Ответы с готовыми решениями:

Автоматическое сохранение данных из DGV
Привет На первой форме располагается datagridview с данными, при нажатии на кнопку она передает данные на вторую форму, в textbox и...

Автоматическое сохранение вложенного файла в excel
Помогите решить такую проблему - раз в несколько дней от одного и того же пользователя приходит сообщение (темы у сообщений разные), но с...

Автоматическое сохранение файла из папки в папку
Здравствуйте. Нужно по нажатию кнопки считать файл из одной папки из записать его в другую папку, если его не существует, то создать. ...

6
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
20.11.2017, 16:38
Цитата Сообщение от Kasid Посмотреть сообщение
C#
1
2
3
void RichTextBox1KeyPress(object sender, KeyPressEventArgs e)
{
}
наводка: вот это у вас откуда?
0
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 10
20.11.2017, 17:30  [ТС]
В ивентах добавил... Как я понимаю, этот ивент как раз для моего задания и нужен по идее...

Добавлено через 17 минут
Цитата Сообщение от valera_21 Посмотреть сообщение
наводка: вот это у вас откуда?
В ивентах добавил... Как я понимаю, этот ивент как раз для моего задания и нужен по идее...
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
20.11.2017, 17:56
Цитата Сообщение от Kasid Посмотреть сообщение
В ивентах добавил... Как я понимаю, этот ивент как раз для моего задания и нужен по идее...
потенциально да. туда можно впихнуть код, который будет сохранять в файл.
но возможно будет достаточно сохранения при потере фокуса с ричтекстбокса... ибо пытаться сохранять несколько раз в секунду - это такое...
0
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 10
20.11.2017, 18:00  [ТС]
Цитата Сообщение от valera_21 Посмотреть сообщение
потенциально да. туда можно впихнуть код, который будет сохранять в файл.
но возможно будет достаточно сохранения при потере фокуса с ричтекстбокса... ибо пытаться сохранять несколько раз в секунду - это такое...
В этом и есть задание)) Только я не могу догнать, в каком виде должен быть этот код
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
20.11.2017, 18:21
Цитата Сообщение от Kasid Посмотреть сообщение
В этом и есть задание)) Только я не могу догнать, в каком виде должен быть этот код
https://msdn.microsoft.com/ru-... .110).aspx
0
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 10
20.11.2017, 18:54  [ТС]
Цитата Сообщение от valera_21 Посмотреть сообщение
https://msdn.microsoft.com/ru-ru/library/ch779a3b(v=vs.110).aspx
че-то не выходит так. Но я попробовал еще сделать так
C#
1
2
3
4
5
6
7
8
9
10
11
12
void RichTextBox1KeyPress(object sender, KeyPressEventArgs e)
        {
        saveFileDialog1.Filter = "rtf files (*.rtf)|*.rtf";
        saveFileDialog1.RestoreDirectory = true ;
        
            if(saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                if (saveFileDialog1.FileName != "Filename"){
                    richTextBox1.SaveFile(saveFileDialog1.FileName);
                }
            }
        }
Теперь при нажатии на любую клавишу выскакивает сохранение, если бы можно было сделать так что бы имя автоманический ввелось и автоматический нажалась кнопка. Либо можно ввести команду как в "Word" "простое" сохранить. Тогда было бы вообще замечательно...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.11.2017, 18:54
Помогаю со студенческими работами здесь

При открытии файла через SaveFileDialog сделать его автоматическое сохранение
давно не работал с ними, вот наткнулся... С помощью openfiledialog открываю файл нужного мне разрешения и по определенному действию мне...

Автоматическое сохранение отчета Access в виде файла .txt на компьютере и отправка его в виде вложения по элек
Форумчане, доброго времени суток! Прошу помощи в решении следующей задачи: При выпуске изделий в них загружается программное...

Автоматическое сохранение
Есть вопрос как автоматически сохранять картинки? Делаю так, но мне надо чтоб сохранял без saveFileDialog1.ShowDialog(), т.е....

автоматическое сохранение на диск D
Доброе время суток. Решила сделать, чтобы программы автоматически ставились на диск D. Следовала этой инструкции. Создаём папку на...

Автоматическое сохранение запроса
Добрый вечер)В бд создал запрос -Дубль111, который из таблицы: Таблица1_Структура_классификатора считывает нужные столбцы, и при нажатии на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru