maintenance_info
Messages postés63Date d'inscriptionlundi 5 juin 2017StatutMembreDernière intervention 3 janvier 2022
-
30 mai 2019 à 14:22
Whismeril
Messages postés18609Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention25 septembre 2023
-
30 mai 2019 à 14:52
Bonjour,
j'ai une form1 de saisie qui contient un textbox grisé,pour rendre ce champ non griser il faut passer a une autre form2 dans laquelle il faut saisir un login et mdp admin, si les paramètre sont correcte,fermer form2 et ré-afficher form1 mais avec un textbox non grisé
le code du bouton pour passer du form1 à form2
Form2 obj2 = new Form2(); this.Hide(); obj2.Show();
le code pour passer de form2 à form1
if (login.Text == "admin" && mdp.Text == "admin") { Form1 f1 = new Form1(); f1.Show(); f1.btn_modif_objectif.Visible = true;//afficher un bouton f1.textBox11.ReadOnly = false; f1.textBox22.ReadOnly = false; f1.textBox33.ReadOnly = false; f1.textBox44.ReadOnly = false; f1.textBox55.ReadOnly = false; f1.textBox66.ReadOnly = false; f1.textBox77.ReadOnly = false; f1.textBox88.ReadOnly = false; } else lbl_msg.Text = "Login et/ou mot de passe incorrecte"; }
Tu ne t’y prends pas comme il faut.
D’abord, si Visual Studio rend les contrôles privés quand tu les poses en mode design c’est pas pour rien.
C’est la base de la programmation objet, ce qui est dans l’objet est protégé de l’extérieur, on n’y accède pas directement.
Ensuite, ce que tu fais pour l’instant c’est de masquer une instance de form1 et en initialiser une autre, tu te retrouves donc avec 2 instances.
En fermant la deuxième instance, ton programme tourne toujours.
Ce qu’il faut faire, c’est faire en sorte que form2 signale à la première instance de form1 que le mot de passe est bon.