Ajouter des "Tags" à des controles [Résolu]

Signaler
Messages postés
129
Date d'inscription
mardi 20 juillet 2004
Statut
Membre
Dernière intervention
6 juin 2009
-
Messages postés
129
Date d'inscription
mardi 20 juillet 2004
Statut
Membre
Dernière intervention
6 juin 2009
-
Bonjour,

J'aurais aimé savoir s'il existe (en VB.Net) un moyen d'ajouter des Tags à un controle de la même manière qu'on en ajoute à des Mp3 pour leur définir des caractéristiques Artiste, Album etc. ?

Merci de votre aide.

7 réponses

Messages postés
840
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
9
Salut,

1. "les Tags devaient contenir les cotes, attribus, motifs, surfaces, etc de mes murs, fenêtres etc"

Tu peux mettre ce que tu veux dans la propriété TAG, par exemple une instance d'une classe qui à toutes tes propriétées voulu.

Public Class ControlInfo
    Public Cote
    Public Attribut
    Public Motifs
    ...
End Class

MonControl.Tag = New ControlInfo

2. "Il y a un moyen de rajouter des propriétés dynamiquement à un controle"

Pas dynamiquement, mais tu peux a rajouter:

Public Class MonPictureBox
    Inherits PictureBox

    [Ajouter toutes les propriétées, fonctions et événements que tu veux]
End Class

Il te suffira d'utiliser le control MonPictureBox au lieu de PictureBox pour avoir les nouvelles fonctions/propriétées.

3. Pour faire des sauvegarde des données, ça n'a rien a voir avec la question précédente. Aucune propriétée n'est persistante entre 2 sessions du programme, alors je vois pas pourquoi Tag le serait.

Tu peux ajouter des "Settings" à ton projet, accessible par My.Settings.
Ou alors si tu veux faire un truc du genre Fichier>Ouvrir et Fichier>Entregistrer, créé des fichier XML, bien plus simple à gérer que des .INI en .NET.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

chaque objet à sa propriété Tag.
Si tu le rajoute en mode création, celui reste en mémoire, cependant, si tu le rajoutes dynamiquement, tu perds l'infos en réouvrant ton appli.
Peut être voir l'interface ICachedType

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
129
Date d'inscription
mardi 20 juillet 2004
Statut
Membre
Dernière intervention
6 juin 2009

oui, je connais la propriété Tag mais comment en ajouter plusieurs ?
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Je ne pense pas que tu puisses. Je ne connais pas dot net (donc peut-être que les évolutions permettent de faire plus simple) mais à la limité, stocke tes infos dans un fichier texte (une sorte d' *.ini).
Tu mets le nom de ton contrôle, et en dessous tes tags, genre

[Text1]
Tag1 = Bibi
Tag2 = Boubou

etc..

T'as plus qu'a lire à l'ouverture, pis tu te fais une proporété MyTag() en tableau de variables

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
129
Date d'inscription
mardi 20 juillet 2004
Statut
Membre
Dernière intervention
6 juin 2009

Le problème étant que je développe un logiciel compter de gestion de plan, et que les Tags devaient contenir les cotes, attribus, motifs, surfaces, etc de mes murs, fenêtres etc. Donc ca parait exclu cette possibilité. Il y a un moyen de rajouter des propriétés dynamiquement à un controle ?
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Là comme ça je vois que le stockage externe.
Essaie de faire une classe objet (cls_Murs, cls_Fenetre; etc..)
Tu crées les propriétés de ces objets, et à l'évènement Terminate (ou équivalent pour le dot net) tu stockes ça dans un txt.
T'as plus qu'à recharger à l'ouverture, maintenant, patiente un peu, les developpeurs en dot net auront peut -être une soluce plus simple

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
129
Date d'inscription
mardi 20 juillet 2004
Statut
Membre
Dernière intervention
6 juin 2009

Ben non, je vais créé un format de fichier XML qui contiendra chaque objet, avec ses propriétés dans un noeud. Merci pour la réponse, c impec.