Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
 Аватар для programistnadne
27 / 24 / 5
Регистрация: 11.10.2017
Сообщений: 421

Использование реестра

06.06.2018, 18:55. Показов 1924. Ответов 5

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

Конструктор формы
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
public Form1()
        {
            InitializeComponent();
            LoadProgrammProperties();
        }


Загрузка параметров формы
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void LoadProgrammProperties()
        {
            RegistryKey registryKeyOptions = Registry.CurrentUser;
            registryKeyOptions = registryKeyOptions.CreateSubKey("Software");
            registryKeyOptions = registryKeyOptions.CreateSubKey("C#");
            registryKeyOptions = registryKeyOptions.CreateSubKey("TestFiles1");
 
            Width = (int)registryKeyOptions.GetValue("width", 600);
            Height = (int)registryKeyOptions.GetValue("heigth", 400);
            Left = (int)registryKeyOptions.GetValue("left", 50);
            Top = (int)registryKeyOptions.GetValue("top", 50);
 
            WindowState = (FormWindowState)registryKeyOptions.GetValue("WinState", FormWindowState.Normal);
            registryKeyOptions.Close();
        }


Сохранение положения формы
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void SaveProgrammProperties()
        {
            RegistryKey registryKeyOptions = Registry.CurrentUser;
            registryKeyOptions = registryKeyOptions.CreateSubKey("Software");
            registryKeyOptions = registryKeyOptions.CreateSubKey("C#");
            registryKeyOptions = registryKeyOptions.CreateSubKey("TestFiles1");
 
            registryKeyOptions.SetValue("WinState", (int)WindowState);
            if(WindowState == FormWindowState.Normal)
            {
                registryKeyOptions.SetValue("width", Width);
                registryKeyOptions.SetValue("height", Height);
                registryKeyOptions.SetValue("left", Left);
                registryKeyOptions.SetValue("top", Top);
            }
        }


Вызывается в событии FormClosing
Кликните здесь для просмотра всего текста
C#
1
2
3
4
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            SaveProgrammProperties();
        }
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.06.2018, 18:55
Ответы с готовыми решениями:

Использование браузера по умолчанию и данных о файле в командах реестра
Собственно 2 вопроса : 1) В команде можно написать "firefox.exe http://ya.ru/", тогда при вызове яндекс откроется в мозиле. Как написать...

Использование реестра или чтото другое...???
Здравствуйте! Вот задался на днях вот таким вот вопросом! Есть у меня программа которая использует CheckBox! Ну я там ставлю галочки...

Рекурсивное перечисление подключей реестра и их использование
Доброе время суток! Подскажите, пожалуйста, как можно заменить функции sprintf и printf в коде? Дело в том, что при закрытии формы...

5
 Аватар для programistnadne
27 / 24 / 5
Регистрация: 11.10.2017
Сообщений: 421
06.06.2018, 19:00  [ТС]
Выложу реестр, мб что-то не так сохраняю. Хотя я дебажил и значения вроде бы верные.
Кликните здесь для просмотра всего текста
0
 Аватар для programistnadne
27 / 24 / 5
Регистрация: 11.10.2017
Сообщений: 421
07.06.2018, 22:19  [ТС]
А в ответ тишина...
0
 Аватар для programistnadne
27 / 24 / 5
Регистрация: 11.10.2017
Сообщений: 421
09.06.2018, 16:19  [ТС]
Всё ещё интресно, как это исправить.
0
 Аватар для aleksskay4
71 / 68 / 46
Регистрация: 02.12.2015
Сообщений: 891
Записей в блоге: 1
09.06.2018, 19:32
Лучший ответ Сообщение было отмечено programistnadne как решение

Решение

Может OpenSubKey() нужен.

Добавлено через 1 час 15 минут
Аа нет. В событие Load формы напишите метод для загрузки:
C#
1
2
3
4
5
6
private void Form1_Load(object sender, EventArgs e)
        {
            
           
            LoadProgrammProperties();
        }
1
 Аватар для programistnadne
27 / 24 / 5
Регистрация: 11.10.2017
Сообщений: 421
18.06.2018, 21:27  [ТС]
Написал, всё работает, спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.06.2018, 21:27
Помогаю со студенческими работами здесь

Исследование, использование реестра для передачи информации между приложениями
Добрый день-вечер, дорогие друзья форумчане! Может кто реализовывал подобное или знает, где почитать об этом... просьба, выслать...

Как предотвратить windows xp от потери реестра? или поломки реестра...
Хочу узнать как предотвратить windows xp от потери реестра. Ато уже как то надоело раз в месяц восстанавливать его..

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

Работа с двумерными числовыми массивами. Использование указателей. Использование функций пользователя.
Помогите пожалуйста!!!!!!! Сделать три варианта: первый вариант – передача данных между функциями с помощью глобального...

Создание и использование своих @NamedQueries. Использование EntityManager
Добрый день! Создавал классы сущностей и сессий через NetBeans генераторы кода. Использование стандартных...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru