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 :

utiliser nom de boutons créés dynamiquement


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 7
    Par défaut utiliser nom de boutons créés dynamiquement
    Bonjour à tous.

    Je débute en VB.net aussi pardonnez moi si la question semble stupide et si la description du problème n'est pas très claire:

    Voilà, j'ai créée des Picturebox en dynamique (Avec comme nom "MaPictureBox1", "MaPictureBox2" etc.) et je voudrais, à un moment donné, modifier une propriété de l'une d'entre elles.
    Malheureusement, je ne peux pas utiliser le "sender" puisque l'action a été faite précédemment (Un clic avant).
    Par contre au moment ou je veux faire la modif', je connais le nom de la picture box. (MaPictureBox4 par exemple)

    En clair, comment écrire un truc du genre:
    MaPictureBox & Lenumerosouhaite & .laproprieteamodifier = ....

    En espérant avoir été compréhensible, j'attends avec impatience vos réponses (voir même la traduction de mon probleme avec des mots plus liés au langage, ce qui m'aiderai déjà à faire des recherches par moi-même sur le net)

    D'avance merci et bonne journée

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    question qui es passée y a une semaine environ à laquelle j'ai donné 2 solutions

    la moins propre mais néanmoins pas trop mal encore et en tout cas très pratique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    directcast(me.controls("mapicturebox" & i),picturebox).lapropriété = lavaleur
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 7
    Par défaut
    Merci pour ta réponse rapide et claire Pole63.

    Désolé de ne pas avoir trouver ta réponse datant d'une semaine. Encore une fois, ce n'est pas évident de trouver des réponses quand on a du mal à formuler la question.

    Ta solution devrait résoudre mon problème même si actuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DirectCast(Me.Controls("MesPicturesBox" & StrTabIndexFirstCard), PictureBox).Image = Image. etc....
    m'envoie une erreur de cast....

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    oui je t'ai mis la version non safe, il faut ajouter avant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if not me.controls.contains("mapicturebox" & nb) then
      msgbox("j'ai du raté un truc, ce picturebox n'existe pas")
      exit sub
    end if
    et éventuellement ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if not typeof me.controls.contains("mapicturebox" & nb) is picturebox then
      msgbox("j'ai du raté un truc, ce controle n'est pas un picturebox")
      exit sub
    end if
    et si ton picturebox n'est pas sur le form mais sur un container il faut mettre monpanel.controls()
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 7
    Par défaut
    Les rajouts que tu me mets semblent servir au cas ou la pictureboxN°x n'existe pas ou bien soit d'un autre type.

    Je comprends l'intérêt de ces sécurités mais mon soucis semble être légèrement différents. Le message d'erreur est:
    Cast from string "MaPictureBox4" to type 'integer' is not valid
    Je n'arrive pas à voir à comprendre pourquoi l'erreur parle d'integer car à aucun moment je n'essaye de passer d'une string à un integer....enfin, surement que si....

    (Merci de perdre ton temps avec un débutant....)

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    si StrTabIndexFirstCard est un integer essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DirectCast(Me.Controls("MesPicturesBox" & StrTabIndexFirstCard.ToString),  PictureBox).Image = Image. etc....
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/10/2014, 23h42
  2. Sauvegarde de boutons créés dynamiquement
    Par redanovich dans le forum C#
    Réponses: 10
    Dernier message: 07/08/2013, 13h50
  3. Réponses: 31
    Dernier message: 08/05/2011, 21h24
  4. Affectation de macros à des boutons créés dynamiquement
    Par JM_Cholet dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/07/2007, 14h09
  5. [VCL 3] TJVLookOut : Pb ordre boutons créés dynamiquement
    Par Eric_dudu dans le forum Composants VCL
    Réponses: 1
    Dernier message: 15/12/2005, 16h17

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