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 :

Mettre un nom de form dans une variable


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 12
    Par défaut Mettre un nom de form dans une variable
    Je suis débutant en vb.net et je bute souvent sur les déclarations de variables. Je fouille un peu tous les sites mais la je coince !!!
    J'ai plusieurs forms qui ont les mêmes contrôles (des labels) numérotés de 10 à 19.
    je voudrais créer une fonction dans laquelle on teste si ces contrôles sont visibles ou pas.

    voilà un morceau du code de la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                     With nomform
                     If .Label16.Visible = True And letjour = "je" Then
                        If Form1.DataGridView1.Columns(t).Width <> 10 And cascolor <> Color.FromArgb(255, 255, 120) Then
                            dispo = "le remplaçant n'est pas disponible"
                        End If
                    End If
    nomform est un des arguments de la fonction c'est le nom de la form où se trouvent ces contrôles. le problème est que je n'arrive pas à déclarer nomform.
    J'ai essaye Byval nomform as form --> message d'erreur label16 n'est pas un membre de Form (erreur BC30456)
    ou byval nomform as object --> là pas de message d'erreur avant le lancement du programme, mais le programme planter ensuite avec ce message d'erreur :
    exception non gérée : System.MissingMemberException : 'Le membre public 'label16' du type 'form2' est introuvable'

    Merci d'avance à celui ou ceux qui pourront m'aider

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 194
    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 194
    Par défaut
    si tu as 2x la même chose fait un usercontrol pour ca, que tu poseras sur chaque form
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,

    C'est vrai qu'il ne semble pas possible d'accéder aux composants d'une "variable" de type Form.
    Cependant, il est possible d'accéder aux composants dont on connait l'indice dans la collection des contrôles.
    Pour caricaturer le problème, je dirais qu'il n'est pas possible "d'obtenir une liaison tardive" aux composants d'un Form du projet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            F2.Show()
            F3.Show()
            For Each F As Form In My.Application.OpenForms
                ' F.TextBox1.Text = Me.Name & " " & F.Name  ' C'est vrai, ceci ne marche pas !
                F.Controls(0).Text = Me.Name & " " & F.Name ' mais ceci est OK !
            Next

    Nom : MultiForm2.jpg
Affichages : 434
Taille : 96,4 Ko

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/01/2016, 16h52
  2. [Toutes versions] Mettre le focus sur un champ dont le nom est contenu dans une variable
    Par possible924 dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/04/2015, 21h32
  3. Stocker le nom du form dans une variable
    Par wa7ch3000 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 31/05/2010, 17h54
  4. Réponses: 7
    Dernier message: 25/10/2005, 15h19

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