Иван
25.04.2025
Здравствуйте, подскажите пожалуйста, как можно сделать так, чтобы если пользователь работает в программе WinForms и изменяет какие-то ее параметры в процессе работы под себя (размер окон например), то его настройки сохранялись при новом запуске приложения?
Операционная система: Windows
Статус: вопрос решён
Вячеслав
клиент
25.04.2025
Иван, для данной задачи реализуйте сохранение пользовательского выбора в реестре Windows при выходе из приложения, тогда когда приложение будет запущено заново, то настройки сохраняться. Для работы с реестром необходимо пространство имён Microsoft.Win32.Registry. В качестве реализации для закрытия и открытия формы, можно сделать следующее:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
RegistryKey regKey = Registry.CurrentUser.CreateSubKey("адрес приложения");
regKey.SetValue("WindowLocationX", Location.X.ToString());
regKey.SetValue("WindowLocationY", Location.Y.ToString());
regKey.Close();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
RegistryKey regKey = Registry.CurrentUser.OpenSubKey("Адрес приложения ");
if (regKey != null && regKey.GetValueNames().Contains("WindowLocationX"))
{
var locX = Convert.ToInt32(regKey.GetValue("WindowLocationX"));
var locY = Convert.ToInt32(regKey.GetValue("WindowLocationY"));
Location = new Point(locX, locY); // Восстанавливаем позицию окна
}
}
Т.е. окно при новой загрузке будет иметь те же размеры что и при прошлом запуске.
Иван
клиент
25.04.2025
Вячеслав, спасибо
Чтобы комментировать, необходимо авторизоваться или зарегистрироваться.
Все советы и рекомендации, размещённые на форуме, носят исключительно информационный характер и не являются официальной инструкцией.
Перед применением любых советов убедитесь в их актуальности и безопасности для вашей конкретной ситуации. Правила форума.