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

Пользовательские настройки (локальные)

26.11.2015, 22:02. Показов 1931. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер
Весь день ищу способ организовать локальные пользовательские настройки в папку с программой. Думал это можно организовать с помощью файла app.config, но как вышло в итоге эти данные неизменны и они при сохранении записываются на компьютере пользователя, а если надо другому пользователю передать, то там уже не наши записи, а те которые по дефолту (если их указывали)
Интересует вопрос, как можно это безболезненно организовать, не используя StreamReader и тому подобные, сохранение текущих изменений в настройках?
Именно как user.config
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.11.2015, 22:02
Ответы с готовыми решениями:

Пользовательские настройки
Всем привет. Я сейчас делаю курсач и там нужен пункт настройки (цвета и шрифта). Со шрифтом я разобрался, а с цветом нет. Нужно следующее:...

Пользовательские настройки
есть три базы данных: reg_data_db, personal_data_db и access_databa_db разъясняю: reg_data_db - регистрационные данные...

скд. Пользовательские настройки
1с предприятие 8.2.13... платформа УТ 10.3. Сделал отчет при помощи скд , но возникла необходимость вынести на форму поля отбора(по...

3
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
26.11.2015, 23:37
Не совсем понятно настройки чего? если настройки Вашего приложеня, то я делаю так:
1) создаю класс настройки например :
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
[Serializable]
    public class settings
    {
        # region  переменные
        
        public string SN_IP {set; get;}
        public string SN_port {set; get;}
        public string SN_pass {set; get;}
        public string SN_login {set; get;}
 
        public List<all_shmel.BL.IP_server_params> IP_par = new List<BL.IP_server_params>();
        public int CAM_active_index;       
 
        public int LNG_location;
        public bool VOIS_off_on;
        public bool OSD_off_on;        
 
        # endregion
 
        public settings()
        {
            SN_IP = "";
            SN_port = "";
            SN_pass = "";
            SN_login = "";
         
            CAM_active_index = 0;
 
            LNG_location = 0;
            VOIS_off_on = false;
            OSD_off_on = false;
        }
 
        // обновить список IP_serv
        public void ref_IP_par(List<all_shmel.BL.IP_server_params> val)
        {
             // очистим список
             IP_par.Clear();
 
             // заполним список
             for (int i = 0; i < val.Count ; i++)
                 IP_par.Add(val[i]);
        }
    }
2) при изминении настроек серелизуем данный класс примерно так:
C#
1
2
3
4
5
6
7
8
9
// Ceрилазация настроек
        private void ser_settings()
        {
            save_settings();
            System.IO.FileStream fs = new System.IO.FileStream("SET\\settings", System.IO.FileMode.Create, System.IO.FileAccess.Write, System.IO.FileShare.ReadWrite);
            System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
            bf.Serialize(fs, all_settings);
            fs.Close();
        }
3) ну а полученный файл настроек передавайте куда хотите

Для дес-ии :
C#
1
2
3
4
5
6
7
8
9
10
11
// Десирилазация настроек
        private void deser_settings()
        {
            if (!System.IO.File.Exists("SET\\settings"))
                return;
 
            System.IO.FileStream fs = new System.IO.FileStream("SET\\settings", System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read);
            System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
            all_settings = (settings)bf.Deserialize(fs);
            fs.Close();
        }
0
0 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 14
26.11.2015, 23:43  [ТС]
Sanya_sa,
В данной программе мне необходимо сохранять данные о email и password
Без особой писанины кода
Есть специальные файлы для этого (.config)
Но в них получается сохранять только дефолтные значения. Даже если возможно будет их изменять, необходимо локально в папке с программой держать это (портативно)

C#
1
2
3
Settings.Default["outlookEmailLogin"] = textBox1.Text;
Settings.Default["outlookEmailPassword"] = textBox2.Text;
Settings.Default.Save();
Через properties
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
27.11.2015, 12:27
Цитата Сообщение от kuzzyatina Посмотреть сообщение
Весь день ищу способ организовать локальные пользовательские настройки в папку с программой
По умолчанию, файл настроек сохраняется в папке AppData текущего пользователя. И это правильно, поскольку:
1) Запись в эту папку как правило разрешена.
2) У каждого пользователя могут быть свои настройки.

Если же вы хотите сохранять файл настроек в другой папке, вам нужно сделать собственный SettingsProvider. Как описано здесь: http://www.codeproject.com/Art... s-Provider
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.11.2015, 12:27
Помогаю со студенческими работами здесь

Пропали пользовательские настройки
Не знаю, к кому обратиться, потому что в компьютерных центрах ничего кроме переустановки Windows предложить не могут. Решил попробовать...

Пользовательские настройки СКД
Доброго времени суток Пытаюсь программно создать отчет Код СхемаКомпоновкиДанных = новый СхемаКомпоновкиДанных; Источник...

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

Как сохранить пользовательские настройки?
Здрасте. В частности, нужно сохранить TextBox, то есть - при запуске приложения - загружает сохраненный текст. Пытался что-то...

Локальные настройки компа.
Как изменить, на время работы программы, локальные настройки компа, в частности: местоположение - изменить с &quot;Российская...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru