Inscription dans le registre Windows
Résolu
ForEverProgrammation
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
je suis nouveau dans les forums et j'ai besoin d'aide pour faire une inscription dans le registre. L'inscription fonctionne. Mon but est de faire un thème sombre et clair pour mon application. Quand la valeur est 1 dans le registre, c'est le thème clair. Quand la valeur est 2 dans le registre, c'est le thème sombre. Le thème par défaut est clair. Quand je fais le débogage, il commence par le thème sombre. Je regarde dans le registre et je vais voir la clé dans le registre Windows et je vais sur la clé, je vois pourtant la valeur 1. Comme je l'ai dit plus haut, c'est le thème clair. Je vous montre mon code:
Pouvez-vous me dir ce qu'il ne fonctionne pas bien dans mon code s'il vous plait (je n'ai pas beaucoup fait d'inscription dans le registre)
je suis nouveau dans les forums et j'ai besoin d'aide pour faire une inscription dans le registre. L'inscription fonctionne. Mon but est de faire un thème sombre et clair pour mon application. Quand la valeur est 1 dans le registre, c'est le thème clair. Quand la valeur est 2 dans le registre, c'est le thème sombre. Le thème par défaut est clair. Quand je fais le débogage, il commence par le thème sombre. Je regarde dans le registre et je vais voir la clé dans le registre Windows et je vais sur la clé, je vois pourtant la valeur 1. Comme je l'ai dit plus haut, c'est le thème clair. Je vous montre mon code:
using System; using System.Drawing; using System.Windows.Forms; using Microsoft.Win32; namespace Example { public partial class applicationForm : Form { public applicationForm() { InitializeComponent(); // Le nom de la clé doit inclure une racine valide. const string userRoot = "HKEY_CURRENT_USER"; const string subkey = "NomDeLaCle"; const string keyName = userRoot + "\\" + subkey; // Lit la clé et applique le thème clair si la valeur est 1. Registry.GetValue(keyName, "PrefTheme", 1); // Applique le thème Clair BackColor = SystemColors.Control; mainTextBox.BackColor = Color.White; mainTextBox.ForeColor = SystemColors.ControlText; // Lit la clé et applique le thème sombre si la valeur est 2. Registry.GetValue(keyName, "PrefTheme", 2); BackColor = Color.Black; mainTextBox.BackColor = Color.Black; mainTextBox.ForeColor = Color.White; } // Plus bas: private void whiteThemeRadioButton_CheckedChanged(object sender, EventArgs e) { if(whiteThemeRadioButton.Checked == true) { // Change le thème de l'application BackColor = SystemColors.Control; mainTextBox.BackColor = Color.White; mainTextBox.ForeColor = SystemColors.ControlText; blackThemeRadioButton.Checked = false; // Le nom de la clé doit inclure une racine valide. const string userRoot = "HKEY_CURRENT_USER"; const string subkey = "TLFDADIDW"; const string keyName = userRoot + "\\" + subkey; // Enregistre la clé Registry.SetValue(keyName, "PrefTheme", 1); } } private void blackThemeRadioButton_CheckedChanged(object sender, EventArgs e) { if(blackThemeRadioButton.Checked == true) { // Change le thème de l'application BackColor = Color.Black; mainTextBox.BackColor = Color.Black; mainTextBox.ForeColor = Color.White; whiteThemeRadioButton.Checked = false; // Le nom de la clé doit inclure une racine valide. const string userRoot = "HKEY_CURRENT_USER"; const string subkey = "TLFDADIDW"; const string keyName = userRoot + "\\" + subkey; // Enregistre la clé / Change la clé Registry.SetValue(keyName, "PrefTheme", 2); } } }
Pouvez-vous me dir ce qu'il ne fonctionne pas bien dans mon code s'il vous plait (je n'ai pas beaucoup fait d'inscription dans le registre)
A voir également:
- Inscription dans le registre Windows
- Registre windows - Guide
- Clé windows 8 - Guide
- Montage video windows - Guide
- Windows ne démarre pas - Guide
- Windows movie maker - Télécharger - Montage & Édition
3 réponses
Bonjour
Enlève le code qui crée le thème dans le constructeur.
Fusionne le changement de thème dans une seule méthode de checkbiox avec un if et un else parce que si un est coché l’autre est forcément décoché donc la.méthode sera appelée quoiqu’il arrive et tu n’en aurais qu’une à corriger au besoin
Dans l’événement Load de ton formulaire va lire la valeur du registre et coche le radio bouton qui va bien
Enlève le code qui crée le thème dans le constructeur.
Fusionne le changement de thème dans une seule méthode de checkbiox avec un if et un else parce que si un est coché l’autre est forcément décoché donc la.méthode sera appelée quoiqu’il arrive et tu n’en aurais qu’une à corriger au besoin
Dans l’événement Load de ton formulaire va lire la valeur du registre et coche le radio bouton qui va bien