/// <summary> /// fonction executée lorsque l'utilisateur valide son formulaire. Elle effectue un enregistrement dans la base de données de cette licence /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAjouter_Click(object sender, EventArgs e) { Mysql m = new Mysql(); List<Personne> lesPers = m.getLesPersonne(); //on remplis le tableau associatif avec les données : Hashtable ht = new Hashtable(); ht.Add("nom", this.txtBoxNomVersion.Text); ht.Add("NumMatAssoc", this.txtBoxNumMatAssoc.Text); ht.Add("id_pers", lesPers.ElementAt(this.frmParent.getListBox().SelectedIndex).getIdPersonne()); //on essaye d'effectuer l'ajout de la licence de version try { String num = m.ajouterLicVersion(ht).ToString(); //on effectue la création dans la base de donnée (on va récupèrer l'identifiant attribué à la licence) this.lblNumLicVersionAttribue.Text = num; //on affiche l'identifiant attribué dans le label spécifé juste devant le formulaire de saisie this.btnAjouter.Hide(); //on cache le bouton ajouter pour pas ajouter deux fois la même licence MessageBox.Show("La licence de durée a bien été ajoutée.", "Succès", MessageBoxButtons.OK, MessageBoxIcon.Information); //on récupère la liste des Controls du formulaire qu'on vient de valider pour les désactiver (évider la modification du contenu) System.Windows.Forms.Control.ControlCollection lesControls = this.panel.Controls; //pour chaque controle on vérifie si ce n'est pas le bouton supprimé et si c'est pas le label qui affiche le numéro attribué puis si la condition est respectée on désactive le controle. for (int i = 0; i < lesControls.Count; i++) { if (!lesControls[i].Name.Equals("btnSupp") && !lesControls[i].Name.Equals("lblNumLicVersionAttribue")) { lesControls[i].Enabled = false; } } } catch (Exception ex) { //on va afficher la nature de l'erreur qui a causé l'échec de l'ajout MessageBox.Show(ex.Message, "Echec", MessageBoxButtons.OK, MessageBoxIcon.Stop); } }