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 :

Integrer la fenêtre propriétés d'un controle?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut Integrer la fenêtre propriétés d'un controle?
    Bonjour et bonne année,
    Je souhaiterai connaitre la méthode la moins fastidieuse pour intégrer la fenêtre des propriétés des controles comme dans Visual Studio mais à partir de mon application? Je veux parler de la fenêtre dans l'IDE qui apparait lorsque l'on affiche les propriétés d'un bouton par exemple.

    J'ai cru comprendre que cela est possible en utilisant un workflow (ex: design hosting) mais cela me paraît quelque peu laborieux au vu de mon niveau et surtout pour une simple fenêtre de paramêtres.

    Une idée serait peut-être de connaitre le nom éxacte de cette fenêtre ce qui me permettrait de l'appeler avec du code.

    Evidement, j'ai penser a le faire manuellement en créant une fenêtre contenant les paramêtres modifiable genre bordure, text, backcolor d'un bouton...
    Mais comme je souhaite également le faire pour des controles d'un autre type comme des listbox, textbox, etc..., et au vu du nombre considérable de paramêtres dont certains sont spécifiques a un type, j'aurai vraiment besoin d'une méthode permettant au moins de récupérer la liste des paramêtres de chaque type de controle.


    Je viens à l'instant de découvrir le PropertyGrid, c'est peut-être ce dont j'ai besoin?!

    Toute aide sera la bienvenue...

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par roster Voir le message
    Je viens à l'instant de découvrir le PropertyGrid, c'est peut-être ce dont j'ai besoin?!
    Exactement
    Il suffit d'affecter à la propriété SelectedObject l'objet dont tu veux afficher les propriétés

  3. #3
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut
    Ok parfait!

    J'obtiens bien le résultat escompté en utilisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PropertyGrid1.SelectedObject = Me.Button1
    Maintenant, je souhaite récupérer cette 'liste' de propriétés pour 'auto' serializer des controles.
    J'ai donc besoin de récupérer en string cette liste. En utilisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PropertyGrid1.SelectedGridItem.ToString
    J'obtiens bien le nom de la propriété selectionnée. Seulement je suis incapable de trouver la méthode permettant de passer à l'item suivante. On a bien le SelectNextControl, mais pas de SelectNextItem?!

    Comment faire?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par roster Voir le message
    Maintenant, je souhaite récupérer cette 'liste' de propriétés pour 'auto' serializer des controles.
    c'est pas vraiment fait pour ça... c'est peut-être possible moyennant pas mal de bidouille, mais il y a des moyens plus adaptés pour la sérialisation... (binaire, XML, etc...)

  5. #5
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut
    L'évenement SelectedGridItemChanged du PropertyGrid permet effectivement de bidouiller.

    Si je souhaite enregistrer/sauvegarder un ensemble de controles créer dynamiquement par un utilisateur, je pensais qu'il était plus simple de récupérer la liste globale des paramètres des controles et de créer une classe permettant la serialization en XML. Le mieux serait sûrement de ne récupérer que les paramètres ayant étaient modifiés, les autres étant par défaut.
    Tout cela parce qu'avec le peu de connaissance que j'ai dans le domaine de la sérialization, j'ai cru comprendre que pour sérializer un controle, on était obligé de créer des balises pour chaque paramètre que l'on souhaite modifiable et pour chaque type de controle. Vu la puissance du .Net, je trouve cela étrange?!

    Pour faire simple, quel est le moyen le plus facile pour serializer un controle?


    PS: Je pars un peu dans le hors sujet, mon premier problème est résolu, merci tomlev!

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par roster Voir le message
    Pour faire simple, quel est le moyen le plus facile pour serializer un controle?
    Il n'y a pas vraiment de moyen simple, vu que la classe Control n'est pas marquée comme Serializable... Le designer "sérialise" les contrôles sous forme de code qui permet de les recréer (cf. les fichiers *.designer.vb)

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

Discussions similaires

  1. Propriété d'un controle ActiveX
    Par Ndugu dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 26/05/2006, 15h40
  2. [VB6] Créer une page de propriété d'un control ActiveX
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 09/05/2006, 12h10
  3. Propriétés d'un controle de maniere dynamique
    Par __fabrice dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 26/12/2005, 17h48
  4. Lien pour afficher fenêtre Propriétés système.
    Par keny dans le forum C++Builder
    Réponses: 2
    Dernier message: 11/07/2005, 18h13
  5. Réponses: 11
    Dernier message: 14/01/2005, 17h29

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