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 :

Accéder à un contrôle par variable


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 99
    Par défaut Accéder à un contrôle par variable
    Bonjour,

    J'ai un petit problème dans mon application, enfin ce n'est pas vraiment un problème puisque ça marche si je tape 15 lignes de code mais le code devient vite lourd.

    J'ai dans mon Form 15 Oracle Adapter avec tous un nom différent.
    Pour y accéder je fais donc avec ma méthode Fill.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    OracleAdapter1.Fill(...)
    OracleAdapter2.Fill(...)
    (...)
    OracleAdapter15.Fill(...)
    J'essaye donc de trouver le moyen de faire une ligne du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ("OracleAdapter" & Nombre).Fill(...)
    Mais je n'arrive pas à trouver comment faire, auriez vous des idées ?
    De même est il possible d'appeler une fonction avec des variables de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim MaVariable as String = "Fonction1"
    Call MaVariable()
     
    Public Sub Fonction1()
    '(...)
    End Sub
    Merci

  2. #2
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    salut,

    essaye de voir si en faisant qq chose comme ca, ca marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Public Sub RefreshAdapters()
     
    for int i = 1 to 15
    CType(Me.Controls.Find("OracleAdapter" &i), OracleAdapter).Fill();
    next
     
    End Sub
    Pour ta seconde question, il faudrait regarder du cote de la reflection...et je suis trop rouille la-dessus

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 99
    Par défaut
    Ce que tu m'as indiqué ne marchait pas mais je te remercie puisque j'ai fais une recherche avec la réflection et je suis tombé sur un sujet qui m'a aidé.

    En fait j'utilise maintenant une Hashtable, j'ajoute mes OracleDataAdapter au démarrage dans la Hashtable et ensuite je peux les utiliser avec mes noms de variable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim ListODA As New Hashtable
     
    ListODA.Add("ODA1", OracleDataAdapter1)
    ListODA.Add("ODA2", OracleDataAdapter2)
    '(...)
    ListODA.Add("ODA15", OracleDataAdapter15)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListODA("ODA" & Nombre).Fill(...)

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 24/08/2012, 11h17
  2. [C#] Comment accéder à un contrôle par son nom ?
    Par km3l3on dans le forum Windows Forms
    Réponses: 4
    Dernier message: 01/06/2010, 19h34
  3. Accéder à une classe par une variable
    Par gvdmoort dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 05/11/2007, 15h17
  4. Adresser un contrôle par une variable
    Par zedude33 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 28/11/2006, 23h23
  5. [VCL] Scroller un contrôle par code
    Par sbeu dans le forum Composants VCL
    Réponses: 3
    Dernier message: 31/03/2004, 10h39

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