bonjour à vous tous,
J'ai une saisie d'une transaction à faire sur une ligne d'un datagridview qui comporte une vingtaine de colonnes dont seulement une dizaine sont utilisées pour cette saisie.En fonction du code produit, saisi dans la première cellule, j'ouvre ou ferme les cellules autorisées, et notifie l'obligation de saisie en colorant les cellules en question.
Pour récupérer le code saisi en cellule 0, j'intercepte la première utlisation du clavier par .EditingControlShowing qui me permert de relever la donnée:
Si l'utilisateur souhaite abandonner la saisie en cours, un bouton KO est à sa disposition.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Private Sub liste_titres_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles liste_titres.EditingControlShowing ' recoit le premier caractére de la colonne 0, caractére précisant le type de la transaction et donc le compte du portefeuille If prochaine_saisie_type_titres = True And handler_titres_added = False Then AddHandler DirectCast(e.Control, TextBox).KeyPress, AddressOf Controle_type_titres handler_titres_added = True Exit Sub End If ' une erreur de saisie a donné lieu à un message d'erreur, le caractére erroné a été éffacé, la saisie doit ' être faite, ne rien changer à l'état du handler If prochaine_saisie_type_titres = False And handler_titres_added = True Then handler_titres_added = False RemoveHandler DirectCast(e.Control, TextBox).KeyPress, AddressOf Controle_type_titres End If End Sub
Mon souci!!!!
Si cet abandon est décidé avant la saisie du code transaction, le handler est toujours activé:
Pour retirer le handler de la circulation il faut que je génére un évenement clavier qui va pouvoir être intercepté et ainsi réinitialiser le processus de saisie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Controle_type_titres(ByVal sender As Object, ByVal e As KeyPressEventArgs) ici est éffectué le traitement logique du code transaction End Sub
Google est bien mon ami, developpez.com ma source favorite et pourtant je bloque.
Un ame charitable pourrait-elle m'aider?
Merci à tous et à +
Partager