begin process at 2012 02 14 21:52:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

Boucler sur le nom d'un objet


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Boucler sur le nom d'un objet

vendredi 23 mars 2007 à 11:52:07 | Boucler sur le nom d'un objet

Loonis

Bonjour,

Je voudrai boucler les sur objet une picturebox de cette maniere

cible1.Enabled = False
        cible2.Enabled = False
        cible3.Enabled = False
        cible4.Enabled = False
        cible5.Enabled = False
        cible6.Enabled = False
        cible7.Enabled = False
...
Qui fonctionne.

J'ai utiliser cette methode
Dim i As Integer
        For i = 1 To nbCible
            Controls("cible" & i).Enabled = False
            Controls("cible" & i).Visible = False
        Next

Mais VB.NET me renvoie cette erreur  :

L'exeption nullReferenceExeption n'a pas été généré
La référence d'objet n'est pas définie à une instance d'un objet.

Merci de votre aide

vendredi 23 mars 2007 à 11:57:18 | Re : Boucler sur le nom d'un objet

honginator

Membre Club
Mois je te conseille d'utiliser un groupe de picturebox..

exemple
 for i = 0 to X                                            X l'index max de ton groupe,
cible(i).Enabled=True                                 il doit y a voir une propriété je pense pr la récupérer
Cible(i).Visible=True
next


Voila...

vendredi 23 mars 2007 à 12:46:43 | Re : Boucler sur le nom d'un objet

NHenry

Membre Club Administrateur CodeS-SourceS
Bonjour

En .NET, pas de groupes de controls, je te propose un code du genre (à adapter à tes besoins) :

En attribut
private mLstChk as new list(of CheckBox) 'uniquement en .NET2
'Pour .NET1 :
private mLstChk as new ArrayList

Event Load :
mLstChk.add(ChkBx1)
mLstChk.add(ChkBx2)
mLstChk.add(ChkBx3)
mLstChk.add(ChkBx4)
mLstChk.add(ChkBx5)
mLstChk.add(ChkBx6)
...

Puis pour faire ta boucle :
for each lChk as CheckBox in mLstChk
'ou
for i as integer=0 to mLstChk.Count-1

Il est plus facile de batiser quelqu'un que de le convertir.(surtout en programmation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
vendredi 23 mars 2007 à 12:47:09 | Re : Boucler sur le nom d'un objet

Renfield

Administrateur CodeS-SourceS
pas de goupe de controles en .Net....

Renfield
Admin CodeS-SourceS- MVP Visual Basic
vendredi 23 mars 2007 à 17:10:26 | Re : Boucler sur le nom d'un objet

TroXsA

Bonjour,

Vu les reponses j'suis pas sur d'avoir bien compris ! mais bon je tente ma chance ! :)

ForEach Contr As Control In Controls
         IfCType(Contr, Object).GetType.Name = "PictureBox"Then
               Contr.Enabled = False
               Contr.Visible = False
         EndIf
NextEn faite ce que je pense avoir compris par raport au code donné de Loonis, c'est qu'il souhaite (je pense) c'est d'appeler tous les controles PictureBox de les desactiver puis les rendres non visible (je me trompe peut etre)

Cordialement,

[ Lien ]
Le site qui ne parle qu'un seul langage, visual basic 2005
vendredi 23 mars 2007 à 21:34:21 | Re : Boucler sur le nom d'un objet

Loonis

reBonjour,

Et merci de vos réponses.

Par contre je n'arrive toujours pas à résoudre mon probleme.

Concretement je voudrais enabler et visibler à false lors du load form grace à une boucle tous les pictureBox dont le nom commence par cible...

Ce code permet d'y parvenir mais il est tres fastidieux d'autant plus que j'aurai vrement besoins d'un boucle par la suite :
        cible1.Enabled = False
        cible2.Enabled = False
        cible3.Enabled = False
        cible4.Enabled = False
        cible5.Enabled = False
        cible6.Enabled = False
        cible7.Enabled = False
        ...

J'ai dabord essayer la méthode de NHenry, je l'ai adapater à ma situation et j'en ai deduit cela :
     Dim pctBox As List(Of PictureBox) 'uniquement en .NET2

     pctBox.add(cible1) 'Erreur Déclaration inatendu de pctBox
     pctBox.add(cible2) 'Idem
     pctBox.add(cible3) '...
     pctBox.add(cible4)
     pctBox.add(cible5)
     pctBox.add(cible6)
     pctBox.add(cible7)

Private Sub Form1_Load...
    For Each pctB As PictureBox In pctBox
            pctB.Enabled = True
    Next

Quant à la méthode de TroXsa

For Each Contr As Control In Controls
            If CType(Contr, Object).GetType.Name = "PictureBox" Then
                Contr.Enabled = True
                Contr.Visible = True
            End If
        Next

J'ai tenté de remplacer "PictureBox" par "cible" ou encore cible lors du load de la form mais rien ne s'affiche.

Merci de votre aide.
vendredi 23 mars 2007 à 23:45:50 | Re : Boucler sur le nom d'un objet

TroXsA

C'est tres simple a faire avec le code que je tes donné il aurait falu que tu creuse un peux plus :) il y a juste un petit paramettre a changer pour que ça puisse fonctionner comme tu veux !

ForEach Contr As Control In Controls
   If Contr.Name.ToLower.IndexOf("cible".ToLower) >= 0 Then
         Contr.Visible = False
         Contr.Enabled = False
   EndIf
Next
Voila en esperant que ça fonctionne maintenant !


[ Lien ]
Le site qui ne parle qu'un seul langage, visual basic 2005
lundi 26 mars 2007 à 11:13:47 | Re : Boucler sur le nom d'un objet

NHenry

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Bonjour

Erreur d'adaptation :

Dim pctBox As New List(Of PictureBox) 'uniquement en .NET2
     pctBox.add(cible1)
     pctBox.add(cible2)
     pctBox.add(cible3)
     pctBox.add(cible4)
     pctBox.add(cible5)
     pctBox.add(cible6)
     pctBox.add(cible7)

Normalement, ça devrait mieux aller.
Je te rappel que cette solution n'est valable qu'en .NET2

Sinon, pour note :
If CType(Contr, Object).GetType.Name = "PictureBox" Then
peut s'écrire
If TypeOf Contr is PictureBox Then

Il est plus facile de batiser quelqu'un que de le convertir.(surtout en programmation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
mardi 27 mars 2007 à 11:00:18 | Re : Boucler sur le nom d'un objet

Loonis

Bonjour,

Merci pour ta réponse NHenry sa fonctionne.

Et avec une boucle du type :

For i As Integer = 0 To nbcible - 1
            pctBox(i).Enabled = True
            pctBox(i).Visible = True
        Next

Je peut résoudre mon probleme :)

Je vais quand même essayer de comprend le code de troXsA que je n'ai pas reussi à adapter du premier coup, je reposterai si je n'y arrive pas.

mardi 27 mars 2007 à 11:00:52 | Re : Boucler sur le nom d'un objet

Loonis

Et Merci à vous 2 pour vos réponses.


Cette discussion est classée dans : objet, controls, false, boucler, enabled


Répondre à ce message

Sujets en rapport avec ce message

probleme tooltip sur des controls enabled=false [ par drastik74 ] Salut, je suis face a un probleme, je voudrais faire afficher un tooltip avec la valeur de la propriete text du control. Tout fonctionne lorsque les c Probleme de connection avec Winsock [ par Luigi-Qc ] Je veux programmer un petit chat fonctionnant avec winsock, mais il ne veut pas se connecté.En mode local (2 chat.exe ouvert sur le meme ordinateur) s [VB] Modification des champs d'une table en ADO [ par bmichael007 ] Bonjour,j'aimerai savoir comment modifier les champs d'une tables (ex: opca avec designation, tel, fex, email...) avec un bouton de commande MODIFIER objet dans Word [ par ChtiBreizh ] bonjour,je souhaiterai automatiser une action sur plusieurs objets créés dans un document Word. Ex: for i=1 to n MaForms.Controls("TextBox" & i).Vis propriété enabled d'un bouton [ par ludovicanceaux ] Salut à tous, je voudrai mettre la position enabled sur false si les élements de ma Listview n'est pô sélectionné et le contraire si un élement est sé Winsock : Déconnexion impossible. [ par link78180 ] Salut.Je débute un nouveau projet : un chat IRC passant sur irc.voila.fr .J'arrive à me connecter pépère, mon seul soucis, c'est que pour se déconnect menu enabled... [ par spring ] salut, j'ai un menu dans vb6, un menu très simple, mais dans mon programme, je dois mettre des option enabled a false et a true des fois, comment fair Mettre un menu (en haut) enabled false [ par Danger Prophet ] quel est la commmande pour mettre un menu enabled false sans aller dans editeur de menu.. juste en cliquant sur un buton il devienne enabled false..me suppression dans un rich text box [ par julian ] Voila; g 1 rtb dans mon application qui est à enabled = False et locked = False.Il est donc bloqué pour l'écriture.Dedans il s'ajoute des annonces et comment tester l'existence d'un objet?? [ par poiskail ] Bonjour, je cherche à savoir si par exemple, il est possible de tester l'existence d'un label (avec son nom) :if Controls(nomLabel).Exists = false th


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,117 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales