Forum

Пожалуйста or Регистрация для создания сообщений и тем.

Ночной - Дневной режим

Доброго времени суток! Нужно реализовать - Ночной - Дневной режим с помощью checkbox, и при запуске запомнил какой режим через реестр.
Помогите с кодом пожалуйста!

При запуске тема не применяется, вот мой код что не так? можно улучшить?

namespace WindowsFormsApp2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//Тема
using (RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\MyForm"))
checkBox1.Checked = key?.GetValue("Theme")?.ToString() == "Black" ? true : false;
}

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
using (RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\MyForm"))
{
key.SetValue("Theme", checkBox1.Checked ? "Black" : "White");
}
if (checkBox1.Checked)
{
this.BackColor = System.Drawing.Color.Black;
}
else
{
this.BackColor = System.Drawing.Color.White;
}
}
}
}

[MNotice]Просьба, оборачивать в код, а не в спойлер.[/MNotice]

[MNotice]Просьба, оборачивать в код, а не в спойлер.[/MNotice]

окей, а куда надо нажат чтобы оборачивать? я не нашёл.

Все я с кодом разобрался с черный фоном!
Другой вопрос: что делать когда фон черный все текст белый стали?

Привет 🖐
Начнём с того, что проверка на nullable в 10 строке ➜ Скопированоkey? не имеет смысла,
потому что Ты не открываешь ключ (OpenSubKey), а создаёшь (CreateSubKey).
То есть знак вопроса в Твоём случае выполняет лишнюю операцию.
И да, лучше OpenSubkey.

Цитата: Komoliddin от 30.10.2020, 10:38

Другой вопрос: что делать когда фон черный все текст белый стали?

if (BackColor == Color.Black)
{
  // делаешь текст белым
}

 

Удаленный пользователь отреагировал на эту запись.
Удаленный пользователь
Цитата: Komoliddin от 30.10.2020, 10:38

окей, а куда надо нажат чтобы оборачивать? я не нашёл.

Привет!
Как вставить код на C#:

Спойлер


Удаленный пользователь отреагировал на эту запись.
Удаленный пользователь