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

Как сделать CheckBox?

Как сделать CheckBox?

Спойлер
Скопированоusing Microsoft.Win32;
using System;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
using (RegistryKey key = Registry.CurrentUser.CreateSubKey(@"AAA"))
checkBox1.Checked = key?.GetValue("TEST")?.ToString() == "1" ? true : false;
}
}
}

это код с видео https://youtu.be/1WCmhHq1aJQ, но у меня не работает.
Мне нужен переключит значение между 1 и 0 с помощью CheckBox. Помогите пожалуйста с решением.


Комментарий модератора:
У нас принято здороваться.
Посмотрите ➜  Как оформлять свои темы и комментарии

Всем ПРИВЕТ!!! 🙂

Привет!
Скопировал Ваш код, у меня работает.
Возможно, в реестре Вы создали ключ по пути "Software\AAA", тогда СкопированоCreateSubKey(@"Software\AAA")

Цитата: Вася от 27.10.2020, 13:38

Привет!
Скопировал Ваш код, у меня работает.
Возможно, в реестре Вы создали ключ по пути "Software\AAA", тогда СкопированоCreateSubKey(@"Software\AAA")

Привет! В реестре значения меняется или просто показывает текущий статус? Видео по ссылке радикал не загружается

Прошу прощения, невнимательно прочитал. Показывает текущий статус.
Для того, чтобы в реестре менялось значение при установки или снятии галочки надо добавить обработчик события СкопированоCheckedChanged для чекбокса:

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
    using (RegistryKey key = Registry.CurrentUser.CreateSubKey(@"AAA"))
        key.SetValue("TEST", checkBox1.Checked ? 1 : 0);
}
Лайкнул Komoliddin
Komoliddin
readonly string path = @"SOFTWARE\Hello";
void checkBox1_CheckedChanged(object sender, EventArgs e)
{
using RegistryKey key = Registry.CurrentUser.CreateSubKey(path);
key.SetValue("Test", checkBox1.Checked ? 1 : 0);
}


Комментарий модератора:
Оборачивайте код, пожалуйста

Лайкнул Komoliddin
Komoliddin

Всем Спасибо!
А как сделать чтобы один checkbox менял две значение реестра?

Привет 🖐
В событие Changed пиши, чтобы менял 2 параметра.

Цитата: Сергей от 28.10.2020, 11:56

Привет 🖐
В событие Changed пиши, чтобы менял 2 параметра.

Привет а как? можете дать код? я не умею 🙁

void checkBox1_CheckedChanged(object sender, EventArgs e)
       {
           // using (используя) позволяет нам закрывать поток на лету, не нужен Close или Disponse
           using (RegistryKey key =  Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" ))
           {
               // меняете или обратываете параметры в первой ветке
           }
           using (RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Control Panel\Desktop"))
           {
               // меняете или обрабатываете параметры во второй ветке
           }
       }

Учись.

Лайкнул Komoliddin
Komoliddin