IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[VB2005] Gestion des évenement dans une fonction


Sujet :

Windows Forms

  1. #1
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut [VB2005] Gestion des évenement dans une fonction
    Bonjour, avez vous une idée pour automatiser tout ça.
    J'ai des évenement sur une textbox me permettant de changer la couleur du texte selon se qui est saisie et de vider la textbox lorsqu'elle récupère le focus.

    Mon soucis est que le code que je vous présente est valable pour une seule textbox, je voudrais ecrire une fonction ou une classe ou je passerais juste en paramètre la textbox et la chaine à afficher pour ne pas avoir a recopier ce code des 10ène de fois.
    Le problème c'est que je ne réussi pas a gérer un évenement dans un fonction, pouvez vous m'orienter, merci .
    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
    22
    23
    24
    25
    26
    27
    28
     
        Private Sub TextBox4_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox4.GotFocus
            Dim str = "Adresse de messagerie"
            If (TextBox4.Text = str) Then
                TextBox4.Text = ""
            Else
                TextBox4.ForeColor = System.Drawing.SystemColors.WindowText
            End If
        End Sub
     
        Private Sub TextBox4_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox4.LostFocus
            Dim str = "Adresse de messagerie"
            If (TextBox4.Text = "") Then
                TextBox4.Text = "Adresse de messagerie"
                TextBox4.ForeColor = System.Drawing.SystemColors.InactiveCaptionText
            Else
                TextBox4.ForeColor = System.Drawing.SystemColors.WindowText
            End If
        End Sub
     
        Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged
            Dim str = "Adresse de messagerie"
            If (TextBox4.Text = str) Then
                TextBox4.ForeColor = System.Drawing.SystemColors.InactiveCaptionText
            Else
                TextBox4.ForeColor = System.Drawing.SystemColors.WindowText
            End If
        End Sub

  2. #2
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Tu peux faire pointer les evenements de plusieurs controles vers une seule et meme sub (a la condition que les arguements de la sub correspondent)
    Il faut utiliser AddHandler et RemoveHandler:
    http://www.developpez.net/forums/sho...d.php?t=175723

    Tes textbox sont bindes a une source de donnees?

    Le binding prevoit un certain nombre d'artifices (nullvalue, errorprovider) qui permettent de faire pas mal de choses (meme de changer des choses exotiques comme la police apres quelques personnalisations)

    Sinon, il y a deux methodes differentes:
    - tu crees un controle perso en heritant d'un controle de base, comme le textbox, tu le customise (en ajoutant une propriete defaultValue par exemple) et tu le specialise (en creeant une textbox validant les emails)
    - tu cree un gestionnaire de controle: une classe qui prend en charge tous les effets possibles d'un controle (un gestionnaire de combobox par ex) auquel tu peux associer des comportements, egalement sous forme de classe (une classe validant un texte, une autre validant la longueur max du texte)
    C'est tres souple mais c'est du travail

  3. #3
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    ok, je verais ça ce soir, merci

  4. #4
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    avant queje me lance, tu pens eque c'est possible de gérer mes evenements avec ça :
    http://plasserre.developpez.com/v5-3.htm

  5. #5
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Oui tu peux (c'est ma methode 1)

    Cependant ton choix se fait en fonction des contraintes du projet, essaie d'imaginer toutes les futures ameliorations, de voir si elles s'integreraient facilement dans les differentes methodes...

  6. #6
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    ben c'est se que j'ai fait, ça marche pas mal a part que mon control est un usercontrol et non une textbox, je ne peux donc pas atteindre la propriété readonly, text par exemple, à moin de les déclarer une part une, tu a une solution ?

  7. #7
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Donc l'ideal serait plutot de faire une classe "Inherits Textbox" et de la personnaliser, plutot que de faire un usercontrol (plus adapte pour faire des controles composes)

  8. #8
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    mais tu gère comment le coté graphique d'une classe, c'est moin simple je pense

  9. #9
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Qu'apelle tu le cote graphique?

    Autrement oui, si dans un controle compose tu veux acceder aux proprietes des controles qui se trouvent dedans, t'as pas d'autre choix que de les recreer et de les relier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des buffers dans une fonction
    Par JiJiJaco dans le forum Langage
    Réponses: 2
    Dernier message: 06/01/2006, 11h20
  2. [AS2] déclarer des variables dans une fonction
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 12
    Dernier message: 02/08/2005, 12h50
  3. [Conception] Gestion des accents dans une base de données
    Par MiJack dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/07/2005, 11h41
  4. fonction récupérant des valeurs dans une fonction popup...
    Par petitsims dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/01/2005, 14h51
  5. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo