Вы должны войти, чтобы создавать сообщения и темы.

Нужно реализовать checkbox как в Win 10 Tweaker в настройках программы [Решено]

Доброго времени суток! Возникло желание реализовать checkbox как в Win 10 Tweaker, в настройках программы к примеру: Автоматически проверять обновления, хочется повторить исполнение данного checkbox, при включённом включателе применяется твик в реестре, при выключенном твик восстанавливается в системное значение. Нужен пример не могу понять:( Хочется увидеть в исполнении класса то есть он обращается в form1 - checkbox и из класса выполняет внутренний твик Result и Reserve

Добрый день.
Если речь об этом

то это вообще не Checkbox, а PictureBox, который меняет изображение по клику по нему.

Цитата: Adler от 10.09.2020, 20:51

Добрый день.
Если речь об этом

то это вообще не Checkbox, а PictureBox, который меняет изображение по клику по нему.

Добрый день. Хочется повторить исполнение данного checkbox, при включённом включателе применяется твик в реестре, при выключенном твик восстанавливается в системное значение. Нужен пример не могу понять:( Хочется увидеть в исполнении класса то есть он обращается в form1 - checkbox и из класса выполняет внутренний твик Result и Reserve.

Цитата: Adler от 10.09.2020, 20:51

Добрый день.
Если речь об этом

то это вообще не Checkbox, а PictureBox, который меняет изображение по клику по нему.

Добрый вечер.
void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked == true)
{
Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced").SetValue("Start_TrackProgs", 0);
}
else if (checkBox1.Checked == false)
{
Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced").SetValue("Start_TrackProgs", 1);
}
}
Как можно улучшить код, сократить и т.д. Хотелось бы ответ Хачатура.

Добрый 🖐
На будущее, не очень приветствуется призыв Хачатура.
Держи:

Спойлер

void checkBox1_CheckedChanged(object sender, EventArgs e)
       {
           using (RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"))
                       key?.SetValue("Start_TrackProgs", checkBox1.Checked ? 0 : 1);
       }

 

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

Посмотри вот это видео. И посмотри как работает PictureBox. А быстрое переключение без if-else Я написал тернарно.

Насчёт PictureBox разобрался, но в коде щас в затруднение как сделать всё тоже самое как тема с CheckBox то есть чтобы он после инициализации чекер понял если ли этот параметр в реестре, ну я думаю донёс мысль, то есть тот же функционал как с CheckBox только весь функционал реализовать в PictureBox
Инициализация:
using RegistryKey key = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced");
checkBox1.Checked = key?.GetValue("Start_TrackProgs")?.ToString() == "0";
Метод:
using RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced");
key?.SetValue("Start_TrackProgs", checkBox1.Checked ? 0 : 1);
Только вот бы это всё реализовать в виде PictureBox

Посмотри вот это видео В нём Хачатур рассказывал, как работать с реестром и читать оттуда параметры. Касательно вот этой строки, тут уже ошибка, потому что у свойств тип принимаемых данных Boolean, то есть True/False, посмотри в Конструкторе. Изучи видео Хачатура по C# там всё грамотно рассказано.

Вопрос возник, у меня к примеру есть класс в нём значение для реестра методы под названиями Result - Reserve. Я хочу чтобы Result добавлял в реестр а Reserve восстанавливал системное значение, нужно сделать это всё в одном чекбоксе

Посмотри вот эти ссылки, если нужно именно визуально реализовать такой CheckBox:
https://www.cyberforum.ru/vb-net/thread1151308-page3.html#post9514103

https://www.cyberforum.ru/vb-net/thread1151308-page3.html#post10002106

HiBro, привет 🖐
Живой пример из Win 10 Tweaker:

Касемо тоггла, то, как видишь это две картинки.
Можно и кодом просто повернуть на 180° и обесцветить.
Из-за размера png разницы в весе программы в данном случае нет.

Лайкнули Илья, ЯR и Senior
ИльяЯRSenior
В любой непонятной ситуации переходи на beta  © Win 10 Tweaker

Вопрос решён.

Цитата: Senior от 11.10.2020, 18:02

Вопрос решён.

Добрый день!
а можете дат полный код?
мне надо переключит значение реестра между 1 и 0 с помощью CheckBox.