Supprimer un control

Résolu
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 - 1 août 2007 à 09:42
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 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?

déja merci de votre aide...

ebaudoux@club.fr
http://velerweb-2.fr.nf
http://velerweb-2.fr.nfhttp://tempuri.org/tempuri.html

22 réponses

PurBonheur Messages postés 66 Date d'inscription samedi 24 février 2007 Statut Membre Dernière intervention 7 octobre 2007 1
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

A plus.
3
PurBonheur Messages postés 66 Date d'inscription samedi 24 février 2007 Statut Membre Dernière intervention 7 octobre 2007 1
2 août 2007 à 11:50
Si tu met Me.KeyPreview = true dans l'événement KeyPress de ton formulaire ca risque pas de marché !!!
Met la propriété à true en mode design.
3
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
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..
3
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
1 août 2007 à 14:42
Salut, j'ai essayer ton code tel quel et sous différent angle, ça fonctionne pas, l'application ne fou rien

ebaudoux@club.fr
http://velerweb-2.fr.nf
http://velerweb-2.fr.nfhttp://tempuri.org/tempuri.html
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PurBonheur Messages postés 66 Date d'inscription samedi 24 février 2007 Statut Membre Dernière intervention 7 octobre 2007 1
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 ?

A plus.
0
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
1 août 2007 à 21:34
OK, j'ai mit le keyPreview sur true, j'ai débuger, l'application passe bien par la procedure, et il ne se passe toujours rien.

ebaudoux@club.fr
http://velerweb-2.fr.nf
http://velerweb-2.fr.nfhttp://tempuri.org/tempuri.html
0
PurBonheur Messages postés 66 Date d'inscription samedi 24 février 2007 Statut Membre Dernière intervention 7 octobre 2007 1
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 ?
0
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
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

ebaudoux@club.fr
http://velerweb-2.fr.nf
http://velerweb-2.fr.nfhttp://tempuri.org/tempuri.html
0
PurBonheur Messages postés 66 Date d'inscription samedi 24 février 2007 Statut Membre Dernière intervention 7 octobre 2007 1
1 août 2007 à 22:42
Et si tu met un point d'arret sur la ligne For Each, l'appli s'arrete sur cette ligne ?
0
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
1 août 2007 à 22:44
0
PurBonheur Messages postés 66 Date d'inscription samedi 24 février 2007 Statut Membre Dernière intervention 7 octobre 2007 1
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 ?
0
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
2 août 2007 à 10:38
oula, atend, rectification, l'application s'arrête pas sur le point d'arret!

ebaudoux@club.fr
http://velerweb-2.fr.nf
http://velerweb-2.fr.nfhttp://tempuri.org/tempuri.html
0
PurBonheur Messages postés 66 Date d'inscription samedi 24 février 2007 Statut Membre Dernière intervention 7 octobre 2007 1
2 août 2007 à 10:53
Pour que le code s'arrete il faut que tu appuis sur la barre d'espace.
0
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
2 août 2007 à 11:06
Bizarre, hiers, ça marchait, y a 2 seconde, sa marchait pas, et ça fonctionne toujours pas.

ebaudoux@club.fr
http://velerweb-2.fr.nf
http://velerweb-2.fr.nf/Veler%20Software/
0
PurBonheur Messages postés 66 Date d'inscription samedi 24 février 2007 Statut Membre Dernière intervention 7 octobre 2007 1
2 août 2007 à 11:25
La propriété KeyPreview de ton formaulaire es bien à True ?
0
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
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

Concept11 est un control utilisateur
vla

ebaudoux@club.fr
http://velerweb-2.fr.nf
http://velerweb-2.fr.nfhttp://tempuri.org/tempuri.html
0
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
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.
0
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
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

ebaudoux@club.fr
http://velerweb-2.fr.nf
http://velerweb-2.fr.nfhttp://tempuri.org/tempuri.html
0
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
2 août 2007 à 14:48
Re,

J'avais testé avec une form normale, apparemment la propriété Keypreview n'existe pas pour un user control.
0
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
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...

ebaudoux@club.fr
http://velerweb-2.fr.nf
http://velerweb-2.fr.nfhttp://tempuri.org/tempuri.html
0
Rejoignez-nous