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

VB.NET Discussion :

vb.net : Partage des variables entre forms


Sujet :

VB.NET

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 164
    Points
    164
    Par défaut vb.net : Partage des variables entre forms
    Vous êtes prets pour la question du neuneu ?

    Je fais une petite appli MDI, et je voudrais déclarer des variables génériques que je veux réutiliser tout le temps (Cpt as long, Str as string... du classique)

    Problème même déclarée en Public, d'une form à l'autre il faut que je les re-déclare sans quoi il ne les reconnait pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Class Principale
     
        Public Delim As Char = ";"
        Public SubChaine() As String
        Public Str As String, StrFile As String
        Public Cpt, NbLine, NbCol As Long
     
    ...
    Merci de m'aider (j'en ai visiblement besoin...)

  2. #2
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Et si tu les mets en membres de classe ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Class Principale
     
        Public Shared Delim As Char = ";"
        Public Shared SubChaine() As String
        Public Shared Str As String, StrFile As String
        Public Shared Cpt, NbLine, NbCol As Long
    End Class
    Par contre après, il ne seront pas affectés à l'instance, mais se comporteront vraiment comme des variables globales.
    Tu y accèdes alors par "Principale.Delim" par exemple et non "MonInstance.Delim".

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 229
    Points : 219
    Points
    219
    Par défaut
    bonjour,
    Pourrais-tu me dire comment tu appelles ta variable

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 164
    Points
    164
    Par défaut
    je l'appelle Principale.Mavariable

    Je vais essayer la méthode de pacmann.

    Merci beaucoup.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 164
    Points
    164
    Par défaut
    Effectivement ca marche... un peu décu qu'il n'y ait pas un endroit ou l'on puisse déclarer les variables globales...

    du coup, je dois écrire à chaque fois "principale.cpt"... pas très pratique.

    Merci à pacmann et si qqn a d'autres pistes...

  6. #6
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Bonsoir,

    IL faut éviter de définir des champs en tant que Public, tu devrais les encapsuler et créer des propriétés pour y accéder. Tu peux aussi récupérer la valeur de tes champs à partir d'u objet.

    Comme tu as une application MDI dans la classe de ta form fille, tu peux utiliser la propriété MDIParent. Elle renvoie un objet de type Form que tu peux caster en type Principale avec l'instruction CType, tu pourra ensuite récupérer la valeur de tous tes champs.

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/11/2011, 09h43
  2. Partager des variables entre Threads
    Par ToTo13 dans le forum Concurrence et multi-thread
    Réponses: 7
    Dernier message: 01/04/2010, 16h09
  3. Partager des variables entre plusieurs actions ds un controlleur
    Par gvdmoort dans le forum Ruby on Rails
    Réponses: 6
    Dernier message: 11/10/2007, 09h38
  4. [VB.NET]Passer des variable de form en form ? Débutant
    Par johnvox dans le forum Windows Forms
    Réponses: 7
    Dernier message: 25/12/2006, 19h28
  5. [vb net]passage de variable entre form !
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 5
    Dernier message: 12/09/2006, 13h06

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