Supprimer un control [Résolu]

cs_veler 724 Messages postés dimanche 26 novembre 2006Date d'inscription 23 janvier 2013 Dernière intervention - 1 août 2007 à 09:42 - Dernière réponse : cs_veler 724 Messages postés dimanche 26 novembre 2006Date d'inscription 23 janvier 2013 Dernière intervention
- 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
Afficher la suite 

22 réponses

Répondre au sujet
PurBonheur 66 Messages postés samedi 24 février 2007Date d'inscription 7 octobre 2007 Dernière intervention - 1 août 2007 à 12:10
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de PurBonheur
PurBonheur 66 Messages postés samedi 24 février 2007Date d'inscription 7 octobre 2007 Dernière intervention - 2 août 2007 à 11:50
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de PurBonheur
lolokun 1241 Messages postés mardi 10 octobre 2006Date d'inscription 27 août 2013 Dernière intervention - 2 août 2007 à 15:34
+3
Utile
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..
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de lolokun
cs_veler 724 Messages postés dimanche 26 novembre 2006Date d'inscription 23 janvier 2013 Dernière intervention - 1 août 2007 à 14:42
0
Utile
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
Commenter la réponse de cs_veler
PurBonheur 66 Messages postés samedi 24 février 2007Date d'inscription 7 octobre 2007 Dernière intervention - 1 août 2007 à 21:04
0
Utile
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.
Commenter la réponse de PurBonheur
cs_veler 724 Messages postés dimanche 26 novembre 2006Date d'inscription 23 janvier 2013 Dernière intervention - 1 août 2007 à 21:34
0
Utile
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
Commenter la réponse de cs_veler
PurBonheur 66 Messages postés samedi 24 février 2007Date d'inscription 7 octobre 2007 Dernière intervention - 1 août 2007 à 22:25
0
Utile
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 ?
Commenter la réponse de PurBonheur
cs_veler 724 Messages postés dimanche 26 novembre 2006Date d'inscription 23 janvier 2013 Dernière intervention - 1 août 2007 à 22:32
0
Utile
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
Commenter la réponse de cs_veler
PurBonheur 66 Messages postés samedi 24 février 2007Date d'inscription 7 octobre 2007 Dernière intervention - 1 août 2007 à 22:42
0
Utile
Et si tu met un point d'arret sur la ligne For Each, l'appli s'arrete sur cette ligne ?
Commenter la réponse de PurBonheur
cs_veler 724 Messages postés dimanche 26 novembre 2006Date d'inscription 23 janvier 2013 Dernière intervention - 1 août 2007 à 22:44
Commenter la réponse de cs_veler
PurBonheur 66 Messages postés samedi 24 février 2007Date d'inscription 7 octobre 2007 Dernière intervention - 1 août 2007 à 22:52
0
Utile
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 ?
Commenter la réponse de PurBonheur
cs_veler 724 Messages postés dimanche 26 novembre 2006Date d'inscription 23 janvier 2013 Dernière intervention - 2 août 2007 à 10:38
0
Utile
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
Commenter la réponse de cs_veler
PurBonheur 66 Messages postés samedi 24 février 2007Date d'inscription 7 octobre 2007 Dernière intervention - 2 août 2007 à 10:53
0
Utile
Pour que le code s'arrete il faut que tu appuis sur la barre d'espace.
Commenter la réponse de PurBonheur
cs_veler 724 Messages postés dimanche 26 novembre 2006Date d'inscription 23 janvier 2013 Dernière intervention - 2 août 2007 à 11:06
0
Utile
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/
Commenter la réponse de cs_veler
PurBonheur 66 Messages postés samedi 24 février 2007Date d'inscription 7 octobre 2007 Dernière intervention - 2 août 2007 à 11:25
0
Utile
La propriété KeyPreview de ton formaulaire es bien à True ?
Commenter la réponse de PurBonheur
cs_veler 724 Messages postés dimanche 26 novembre 2006Date d'inscription 23 janvier 2013 Dernière intervention - 2 août 2007 à 11:46
0
Utile
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
Commenter la réponse de cs_veler
lolokun 1241 Messages postés mardi 10 octobre 2006Date d'inscription 27 août 2013 Dernière intervention - 2 août 2007 à 11:48
0
Utile
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.
Commenter la réponse de lolokun
cs_veler 724 Messages postés dimanche 26 novembre 2006Date d'inscription 23 janvier 2013 Dernière intervention - 2 août 2007 à 12:37
0
Utile
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
Commenter la réponse de cs_veler
lolokun 1241 Messages postés mardi 10 octobre 2006Date d'inscription 27 août 2013 Dernière intervention - 2 août 2007 à 14:48
0
Utile
Re,

J'avais testé avec une form normale, apparemment la propriété Keypreview n'existe pas pour un user control.
Commenter la réponse de lolokun
cs_veler 724 Messages postés dimanche 26 novembre 2006Date d'inscription 23 janvier 2013 Dernière intervention - 2 août 2007 à 15:15
0
Utile
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
Commenter la réponse de cs_veler

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

supprimer un control - page 2