cs_veler
Messages postés723Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention23 janvier 2013
-
1 août 2007 à 09:42
cs_veler
Messages postés723Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention23 janvier 2013
-
4 août 2007 à 10:40
Salut, j'ai de nouveau une question, qui me traquasse depuis hiers.
comment qu'on fait pour supprimer le control d'un UserControl ayant le focus par une touche, ou autre?
PurBonheur
Messages postés66Date d'inscriptionsamedi 24 février 2007StatutMembreDernière intervention 7 octobre 20071 1 août 2007 à 12:10
Salut, je vois pas bien se que tu veux dire par "supprimer le control d'un UserControl ", mais si tu veux enlever un controle de ton formulaire tu peux faire comme ca :
Private Sub Form1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
Dim Ctrl As Control
If e.KeyChar = Chr(Keys.Space) Then
For Each Ctrl In Me.Controls
If Ctrl.Focused = True Then
Me.Controls.Remove(Ctrl)
Exit For
End If
Next
End If
End Sub
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 2 août 2007 à 15:34
Dans ce cas déplacer le code ne suffit pas je pense. Me.controls désigne les contrôles qui sont sur ta form et non sur le user control.
Sinon une autre solution sans mettre de form et uniquement le user control, c'est de mettre le code directement dans l'évènement Keypress de chaque bouton..
PurBonheur
Messages postés66Date d'inscriptionsamedi 24 février 2007StatutMembreDernière intervention 7 octobre 20071 1 août 2007 à 21:04
Salut, ce code dois supprimer les controles qui ont le focus, les uns après les autres, lorsque tu appuis sur la barre d'espace. Il faut que la propriété 'KeyPreview' du formulaire sois à true. Est ce que tu a éssayé de debuger le code ? Est ce que l'application vas dans la procédure lorsque tu appuis sur une touche ?
PurBonheur
Messages postés66Date d'inscriptionsamedi 24 février 2007StatutMembreDernière intervention 7 octobre 20071 1 août 2007 à 22:25
Salut, il y a combien de controle sur ton formulaire ? Est ce qu'il y en a un qui à le focus lorsque tu appuis sur la barre d'espace ? De quel type est le controle qui a le focus ?
cs_veler
Messages postés723Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention23 janvier 20132 1 août 2007 à 22:32
pour le moment, il y en a 1, mais il peut y en avoir une dizaine d'un coup, parce que c'est l'utilisateur qui les créer. et, ça peut être tous type de control (sauf les print, savefiledialog...ect). Et, oui, je m'assure à chaque fois qu'il ai le focus
PurBonheur
Messages postés66Date d'inscriptionsamedi 24 février 2007StatutMembreDernière intervention 7 octobre 20071 1 août 2007 à 22:52
Ok, lorsque l'appli s'arrete sur ton point d'arret, met dans la fenetre espion : Me.Controls.Item(0).Focused
et fait varier le chiffre 0 pour parcourir tous tes controle, il y en a t il un qui sois à true ?
cs_veler
Messages postés723Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention23 janvier 20132 2 août 2007 à 11:46
oui, bon au cas où, vla le code:
Private Sub Concept11_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Concept11.KeyPress
Me.KeyPreview = True
If e.KeyChar = Chr(Keys.Z) Then
For Each control In Me.Controls
If control.Focused = True Then
Me.Controls.Remove(control)
Exit For
End If
Next
End If
End Sub
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 2 août 2007 à 11:48
Salut,
J'ai testé ce bout de code il fonctionne correctement chez moi à condition de mettre Keypreview à true dans les propriétés de ta form.
Dans la boucle For each avant de supprimer essaye de mettre
MessageBox.Show(Ctrl.Name.ToString) pour vérifier quel contrôle a le focus.
cs_veler
Messages postés723Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention23 janvier 20132 2 août 2007 à 12:37
ouinnnn, toujours rien, de plus, le msgbox que j'ai rajouté comme me l'a dit lolokun n'apparait pas à l'écran, je croit que la condition ne doit pas être bien paramètré un truc dans ce genre
cs_veler
Messages postés723Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention23 janvier 20132 2 août 2007 à 15:15
oui, j'ai déplacé le code dans l'évenement de form, et l'ai modifier de façon à agir (supprimer le control) dans le usercontrol, mais sans résultat positif...