lancelothelene
Messages postés8Date d'inscriptionmardi 4 mai 2010StatutMembreDernière intervention31 mai 2011
-
31 mai 2011 à 13:18
lancelothelene
Messages postés8Date d'inscriptionmardi 4 mai 2010StatutMembreDernière intervention31 mai 2011
-
31 mai 2011 à 15:45
Bonjour à tous,
Est-ce que quelqu'un pourrait m'indiquer comment faire pour qu'un évènement (clic sur une cellule d'un DataGrid) puisse s'exécuter plusieurs fois?
Pour le moment, ça fonctionne, à part que l'evènement s'exécute une seule fois. Après je dois recompiler mon projet!
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 31 mai 2011 à 14:51
ou avec n'importe quoi d'autre, dans une autre partie du code (pas dans celle montrée).
Je comprends que l'évènement n'intervient pas si l'on ne change pas de cellule. Je ne comprends à ce propos même pas l'utilité de cette précision :
Je sélectionne une cellule (la même ou une autre - le résultat est le même)
puisqu'il est bien clair que choisir la même ne provoquerait pas le céclenchement de l'évènement.
Avec une autre sélection, l'évènement doit par contre se déclencher et, avant d'accuser un "non déclenchement", je procèderais quant à moi à une vérification toute bête (par exemple afficher un message en toute première ligne d'instruction de la procédure évènementielle) ===>> si cette instruction est exécutée, mais le Form2 n'est pas montré (sorcier, hein ) je n'accuserais certes pas la non survenue de l'évènement, mais regarderais de plus près les évènements qui interviennent aloirs dans Form2 (à son activation). Ce petit geste bien élémentaire (qui n'a rien à voir avec le code montré), me parait le premier réflexe naturel !
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 31 mai 2011 à 13:38
Bonjour,
Je ne comprends pas où se trouverait la difficulté.
Si je m'en tiens UNIQUEMENT à ce que tu écris, je te répondrais ceci :
Une procédure évènementielle contient des instructions. Répète ces instructions autant de fois que tu le souhaite, en les mettant dans une boucle !
Ceci étant dit : je suis presque certain de ce que ce que tu veux faire a mal été exprimé et est tout autre chose !
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
lancelothelene
Messages postés8Date d'inscriptionmardi 4 mai 2010StatutMembreDernière intervention31 mai 2011 31 mai 2011 à 13:41
J'explique : je clique une fois sur une cellule du DataGrid et un autre formulaire doit s'ouvrir.
Une fois que je referme ce formulaire et que je clique sur une autre cellule de mon dataGrid - plus rien ne se passe. Je ferme mon projet, je recompile et ça marche de retour 1 seule fois!
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 31 mai 2011 à 13:49
Ouais ..
c'est cela que tu appelles une "itération de'évènements" ?
Peu importe (appelles la chose comme tu l'entends), mais n'attends aucune répoinse éclairée sans ton code (c'est évident)!
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
lancelothelene
Messages postés8Date d'inscriptionmardi 4 mai 2010StatutMembreDernière intervention31 mai 2011 31 mai 2011 à 13:58
Voici le code de l'évènement :
Private Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged
TabPage1.BackColor = Color.Yellow
TabPage2.BackColor = Color.White
TabPage3.BackColor = Color.White
TabPage4.BackColor = Color.White
TabPage5.BackColor = Color.White
'la couleur de la séléction change:
DataGrid1.SelectionForeColor = Color.Blue
'je récupère l'indice de la ligne où je me trouve dans une variable:
If DataGrid1.SelectionForeColor = Color.Blue Then
ligne = DataGrid1.CurrentRowIndex
End If
'je récupère les valeurs de la bonne ligne dans les variables:
de = DataGrid1.Item(ligne, 0).ToString
a = DataGrid1.Item(ligne, 1).ToString
classe = DataGrid1.Item(ligne, 2).ToString
'à chaque fois qu'une ligne est choisie -> form 2 s'ouvre:
Form2.Show()
End Sub
Donc, une fois que je ferme Form2 -> choisis une autre cellule l'évènement ne se reproduit plus!
J'ai déjà essayé l'évènement DataGrid1_Click -> rien ne se passe non plus!
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 31 mai 2011 à 14:03
Et :
qu'est-ce qui ne se fait pas, avec ce code ? (exactement et avec précision)
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
lancelothelene
Messages postés8Date d'inscriptionmardi 4 mai 2010StatutMembreDernière intervention31 mai 2011 31 mai 2011 à 14:09
Je compile, ça fonctionne 1 fois : je sélectionne une cellule du data grid dans le formulaire 1 et le formulaire 2 s'ouvre!
Quand je ferme le formulaire 2 => le formulaire 1 est de retour là avec le data Grid. Je sélectionne une cellule (la même ou une autre - le résultat est le même) -> au lieu d'ouvrir à nouveau le formulaire 2 rien ne se passe!
lancelothelene
Messages postés8Date d'inscriptionmardi 4 mai 2010StatutMembreDernière intervention31 mai 2011 31 mai 2011 à 15:06
En fait tout le code s'execute correctement (j'ai mis une MessageBox juste avant Form2.Show() - toutes les variables contiennent ce qu'il faut).
Mais après que j'ai fermé une fois le form2, il ne veut donc plus s'ouvrir?!?