/// <summary>
 /// Action après le clique "Ajouter" dans l'onglet Adhérent (Ajouter un adhérent)
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void buttonAjouterAdherent_Click(object sender, EventArgs e)
 {
     /// Using de la formDetailAdherent (nouvelle fenêtre) pour faire un "dispose" à la fermeture
     using (formDetailAdherent frmDetailAdherent = new formDetailAdherent())
     {
         /// Les choses inutiles dans l'ajout d'un adhérents deviennent invisibles
         frmDetailAdherent.dataGridViewFormDetailAdherentInscrits.Visible = false;
         frmDetailAdherent.lblInscritsAuxActivites.Visible = false;
         frmDetailAdherent.btModifier.Visible            = false;
         frmDetailAdherent.btSupprimer.Visible           = false;
         frmDetailAdherent.btDesinscrireAdherent.Visible = false;
         /// Je rends la date d'adhésion non modifiable (L'adhérent aura la date du jour comme date d'adhésion)
         frmDetailAdherent.dateTimePickerDateAdhesion.Enabled = false;
         /// J'affiche la fenêtre en mode Dialog (le using n'aurait pas été possible sans ça)
         frmDetailAdherent.ShowDialog();
         /// Si la fenêtre se ferme
         if (frmDetailAdherent.IsClose)
         {
             /// Je FillIntegral
             FillIntegral();
             /// Je me repositionne sur la ligne que je viens d'ajouter via l'IdAdherent
             adherentsBindingSource.Position = adherentsBindingSource.Find("IdAdherent", frmDetailAdherent.LastInsert);
             /// Je rétablie IsClose à 0
             frmDetailAdherent.IsClose = false;
         }
     }
 }
 /// <summary>
 /// Action du bouton Modifier dans l'onglet Adhérent (Modifier un adhérent)
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btModifier_Click(object sender, EventArgs e)
 {
     /// Using de la formDetailAdherent (nouvelle fenêtre) pour faire un "dispose" à la fermeture
     using (formDetailAdherent formDetailAdherent = new formDetailAdherent())
     {
         /// Récupération de la ligne courrante pour une utilisation des valeurs de ses colonnes
         cda27_bd2DataSet.adherentsRow currentRow = (cda27_bd2DataSet.adherentsRow)((DataRowView)adherentsBindingSource.Current).Row;
         if (currentRow.IdAdherent == 100)
         {
             MessageBox.Show(Properties.Resources.STR_MESSAGE_IMPOSSIBLE_MODIFIER_SECRETAIRE,
                             Properties.Resources.STR_TITRE_IMPOSSIBLE_SUPPRIMER_SECRETAIRE,
                             MessageBoxButtons.OK,
                             MessageBoxIcon.Information);
             return;
         }
         /// Mise des valeurs dans les TextBox et dateTimePicker correspondant à l'adhérent
         formDetailAdherent.textBoxNom.Text    = currentRow.Nom;
         formDetailAdherent.textBoxPrenom.Text = currentRow.Prénom;
         formDetailAdherent.textBoxAge.Text    = null;
         formDetailAdherent.dateTimePickerDateDeNaissance.Value = currentRow.Date_de_naissance;
         formDetailAdherent.dateTimePickerDateAdhesion.Value    = currentRow._Date_d_adhésion;
         formDetailAdherent.textBoxAdresse.Text     = currentRow.Adresse;
         formDetailAdherent.textBoxCodePostale.Text = currentRow.Code_postale;
         formDetailAdherent.textBoxVille.Text       = currentRow.Ville;
         formDetailAdherent.textBoxEmail.Text       = currentRow.Email;
         formDetailAdherent.textBoxTelephone.Text   = currentRow.Téléphone;
         formDetailAdherent.textBoxLogin.Text       = currentRow.Login;
         formDetailAdherent.Login           = currentRow.Login;
         formDetailAdherent.textBoxAge.Text = Convert.ToString(CalculAge(currentRow.Date_de_naissance)) + "ans";
         /// Si la colonne organisateur est à 1 alors la checkBox prévue à cet effet est cochée
         if (currentRow.Organisateur == 1)
         {
             formDetailAdherent.checkBoxOrganisateur.Checked = true;
         }
         /// Sinon décochée
         else
         {
             formDetailAdherent.checkBoxOrganisateur.Checked = false;
         }
         /// De même si la colonne activé est à 1 ...
         if (currentRow.Activé == 1)
         {
             formDetailAdherent.checkBoxActive.Checked = true;
         }
         else
         {
             formDetailAdherent.checkBoxActive.Checked = false;
         }
         formDetailAdherent.textBoxCylindree.Text = currentRow.Cylindrée;
         formDetailAdherent.textBoxAPropos.Text   = currentRow.A_propos;
         /// Fill du dataGridView des inscriptions de l'adhérent avec comme argument son IdAdherent
         formDetailAdherent.inscriptionsTableAdapter.Fill(formDetailAdherent.cda27_bd2DataSet.inscriptions, currentRow.IdAdherent);
         /// Si un avatar n'est pas défini il prendra une valeur par défaut
         string FileAvatar = currentRow.IsAvatarNull() ? Properties.Resources.STR_AVATAR_PAR_DEFAUT : currentRow.Avatar;
         /// La pictureBox ira alors chercher l'avatar sur internet (cda27.s1.2isa.org)
         formDetailAdherent.pictureBoxAvatar.ImageLocation = Properties.Resources.STR_ADRESSE_AVATAR + FileAvatar;
         /// Injection du bindingSource directement dans le code de la fenêtre fille
         formDetailAdherent.adherentbind = adherentsBindingSource;
         /// Ajouter devient invisible (pas besoin d'ajouter si l'on modifie)
         formDetailAdherent.btAjouter.Visible = false;
         /// On affiche la fenêtre en mode Dialog (Le using aurait été impossible sinon)
         formDetailAdherent.ShowDialog();
         /// Si la fenêtre se ferme
         if (formDetailAdherent.IsClose)
         {
             /// Je FillIntegral et me positionne sur l'adhérent que je viens de modifier
             FillIntegral();
             adherentsBindingSource.Position = adherentsBindingSource.Find("IdAdherent", formDetailAdherent.LastInsert);
             /// Je rétablie la valeur 0 à IsClose
             formDetailAdherent.IsClose = false;
         }
     }
 }