Ночной - Дневной режим
Цитата: Удаленный пользователь от 30.10.2020, 10:03Доброго времени суток! Нужно реализовать - Ночной - Дневной режим с помощью 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]
Доброго времени суток! Нужно реализовать - Ночной - Дневной режим с помощью 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]
Цитата: Удаленный пользователь от 30.10.2020, 10:38[MNotice]Просьба, оборачивать в код, а не в спойлер.[/MNotice]
окей, а куда надо нажат чтобы оборачивать? я не нашёл.
Все я с кодом разобрался с черный фоном!
Другой вопрос: что делать когда фон черный все текст белый стали?
[MNotice]Просьба, оборачивать в код, а не в спойлер.[/MNotice]
окей, а куда надо нажат чтобы оборачивать? я не нашёл.
Все я с кодом разобрался с черный фоном!
Другой вопрос: что делать когда фон черный все текст белый стали?
Цитата: admin от 30.10.2020, 11:32Привет 🖐
Начнём с того, что проверка на nullable в 10 строке ➜key?не имеет смысла,
потому что Ты не открываешь ключ (OpenSubKey), а создаёшь (CreateSubKey).
То есть знак вопроса в Твоём случае выполняет лишнюю операцию.
И да, лучше OpenSubkey.Цитата: Komoliddin от 30.10.2020, 10:38Другой вопрос: что делать когда фон черный все текст белый стали?
if (BackColor == Color.Black) { // делаешь текст белым }
Привет 🖐
Начнём с того, что проверка на nullable в 10 строке ➜ Скопированоkey? не имеет смысла,
потому что Ты не открываешь ключ (OpenSubKey), а создаёшь (CreateSubKey).
То есть знак вопроса в Твоём случае выполняет лишнюю операцию.
И да, лучше OpenSubkey.
Цитата: Komoliddin от 30.10.2020, 10:38Другой вопрос: что делать когда фон черный все текст белый стали?
if (BackColor == Color.Black)
{
// делаешь текст белым
}
Цитата: Удаленный пользователь от 30.10.2020, 12:42Цитата: Komoliddin от 30.10.2020, 10:38окей, а куда надо нажат чтобы оборачивать? я не нашёл.
Привет!
Как вставить код на C#:
[spoiler]
[/spoiler]
Цитата: Komoliddin от 30.10.2020, 10:38окей, а куда надо нажат чтобы оборачивать? я не нашёл.
Привет!
Как вставить код на C#: