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 :

[UserControl] Error lors de l'ajout dans un projet


Sujet :

VB.NET

  1. #1
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut [UserControl] Error lors de l'ajout dans un projet
    Bonjour,

    J'ai créé un usercontrol qui fonctionne très bien dans son projet.

    Par contre, lorsque je tente de l'ajouter dans un autre projet pour l'utiliser et le tester, j'ai une erreur qui m'est totalement incompréhensible lors de l'ajout du contrôle sur la winform en mode design...

    Est-ce que ce message incompréhensible pour moi parlerait à certains d'entre vous ?
    Images attachées Images attachées  
    Kropernic

  2. #2
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Je pense que ta property Source dérange le Designer car il ne peut pas l'initialiser ...

    Tu peux rajouter ça au dessus de ta property Source dans ta class d'UC :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     <System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)> _
            <System.ComponentModel.Browsable(False)> _
    Ca permettra de la masquer à ton Designer.
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  3. #3
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Je n'ai pas de propriété Source ^^.

    J'ai par contre une classe Source et une propriété DataSourcede type List(Of Source)Mais sinon, elle veut dire quoi cette erreur ? J'ai bien compris qu'il me parlait de serialization mais je ne comprends pas pourquoi...
    Kropernic

  4. #4
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Bon, j'ai changé un truc car j'avais un bug dans l'event paint et ça changé l'erreur vers RangeType.

    J'ai mis ton bout de code au dessus de cette propriété mais en mettant True pour Browsable histoire de voir la propriété dans le designer et ça passe pour le mode design

    Merci !
    Kropernic

  5. #5
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Je ne suis pas un pro du Designer VS, mais à ce que j'ai compris il n'arrive pas à sérialiser du fait qu'il ne reconnaisse pas le typage de la property du control.

    J'avais rencontré ce problème avec un panel qui avait en property un Objet personne de type personne, quand je déposais le control, le Designer voulait instancier toutes les properties du control, et il plantait sur la property personne.

    Obligé d'indiquer que le Designer ne doit pas sérialiser cette property. Et pour le browsable oui tu as bien fait de l'enlever j'ai pas fait attention mais ça ne sert que dans mon cas ...


    EDIT : Je viens de relire ton message d'erreur. Du coup à la place de masquer au Designer pour ne pas qu'il tente de sérialiser, tu peux déclarer ta classe Source comme sérialisable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <SerializableAttribute()>
        Public Class Source
    Ainsi le Designer pourra la sérialiser et il nous embêtera plus.

    Pas testé, mais ça ne coûte rien d'essayer et ce serait peut-être plus propre que de masquer.
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  6. #6
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Je ne suis pas un pro du Designer VS, mais à ce que j'ai compris il n'arrive pas à sérialiser du fait qu'il ne reconnaisse pas le typage de la property du control.

    J'avais rencontré ce problème avec un panel qui avait en property un Objet personne de type personne, quand je déposais le control, le Designer voulait instancier toutes les properties du control, et il plantait sur la property personne.

    Obligé d'indiquer que le Designer ne doit pas sérialiser cette property. Et pour le browsable oui tu as bien fait de l'enlever j'ai pas fait attention mais ça ne sert que dans mon cas ...


    EDIT : Je viens de relire ton message d'erreur. Du coup à la place de masquer au Designer pour ne pas qu'il tente de sérialiser, tu peux déclarer ta classe Source comme sérialisable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <SerializableAttribute()>
        Public Class Source
    Ainsi le Designer pourra la sérialiser et il nous embêtera plus.

    Pas testé, mais ça ne coûte rien d'essayer et ce serait peut-être plus propre que de masquer.
    Par curiosité, je viens de tester et ça ne "marche" pas.
    VS me souligne la ligne en disant :
    Attribute 'SerializableAttribute' cannot be applied to 'XXXXXX' because the attribute is not valid on this declaration type.
    Sinon, une petite question quand même...
    Je suis en train d'insérer de la doc dans mon contrôle pour chaque propriété et méthode publique et je n'y arrive pas pour celles où il y a un ou plusieurs attributs... Faut les mettre où les triples quotes qui génèrent le bloc de documentation ?
    Kropernic

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 206
    Points : 455
    Points
    455
    Par défaut
    Les triples cotes se mette devant les classes et les fonctions

    genre
    Edit
    Quand tu as des <Class> requis par le designer les cotes vont avant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    '''
    <Class>
    Private sub

  8. #8
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Bon bin ça passe. Bizarre, j'avais quand même essayé avant de poser la question et j'avais rien eu...

    Bref, ça fonctionne et je suis content ^^.

    Merci.
    Kropernic

  9. #9
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Avant les déclaration de tes méthodes et properties, et si elles ont des attributs avant les attributs de ces dernières.


    Quand au message d'erreur, il faudrait voir la classe entière pour savoir ce qui a été refusé à la sérialisation ... (Si vraiment le besoin est de sérialiser, sinon on peut continuer sur notre idée du début de topic ...).


    EDIT: Je suis trop long à écrire.
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  10. #10
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Avant les déclaration de tes méthodes et properties, et si elles ont des attributs avant les attributs de ces dernières.


    Quand au message d'erreur, il faudrait voir la classe entière pour savoir ce qui a été refusé à la sérialisation ... (Si vraiment le besoin est de sérialiser, sinon on peut continuer sur notre idée du début de topic ...).


    EDIT: Je suis trop long à écrire.
    Restons-en là. Pour le moment, rien à faire (pour rester poli) de la serialisation ^^.

    D'ailleurs, à part créer des fichiers XML, à quoi ça sert ? (vais me faire taper...)
    Kropernic

  11. #11
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Si je restitue dans les grandes lignes ce que j'avais vu en cours, ça ne fait pas que des sauvegardes Xml, ça fait aussi en binaire et en texte.

    Ca te permet de sauvegarder à peu près ce que tu veux, le text de ta textbox285, des lignes et des lignes d'enregistrement, à peu près tout etc.

    Mais ça sert aussi à d'autres choses, par exemple le presse-papier est un bon exemple de sérialisation.

    Je ne m'en suis que peu servi, je peux pas en dire beaucoup plus sinon je risquerais de prêcher le faux. (Mais si Tomlev passe par là, j'ai crû remarquer qu'il la (la sérialisation) maîtrisait plutôt bien).

    Dans notre cas présent par exemple, tu aurais pu sauver l'état de ta List(Of Source) à la sortie de l'appli, et la retrouver tel qu'elle quand tu la relances. (Avec la gestion de la sérialisation qui va avec bien sûr)
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  12. #12
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Hello,

    Je reviens une fois de plus là-dessus car j'ai un souci avec la propriété que nous avons taguée pour faire plaisir au designer...

    Voici donc le code de cette propriété :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            <System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)> _
            <System.ComponentModel.Browsable(True)> _
        Public Property RangeTypes As New System.Collections.ObjectModel.ObservableCollection(Of RangeType)
    Toujours dans mon contrôle, voici un bout son constructeur (que j'ai épuré pour ne laisser que ce qui concerne cette propriété) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Public Sub New()
     
            ' This call is required by the designer.
            InitializeComponent()
     
            ' Add any initialization after the InitializeComponent() call.
     
            AddHandler RangeTypes.CollectionChanged, AddressOf OnRangeTypesChanged
            RangeTypes.Add(New RangeType("Work", "Working time", "Work", Drawing.Color.Red))
            RangeTypes.Add(New RangeType("Pause", "Pause time", "Pause", Drawing.Color.LightGreen))
            RangeTypes.Add(New RangeType("Holiday", "Holiday time", "Holiday", Drawing.Color.LightBlue))
     
        End Sub
    Et pour finir, la procédure OnRangeTypesChanged histoire d'être complet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
        Private Sub OnRangeTypesChanged(sender As Object, e As Collections.Specialized.NotifyCollectionChangedEventArgs)
            Select Case e.Action
                Case Specialized.NotifyCollectionChangedAction.Reset
                    pnlLegend.Controls.Clear()
                    Dim rb As New Windows.Forms.RadioButton
                    rb.Name = "rbSelection"
                    rb.BackColor = Drawing.Color.White
                    rb.Text = "Selection"
                    rb.AutoSize = True
                    pnlLegend.Controls.Add(rb)
                    rb.BringToFront()
                    AddHandler rb.CheckedChanged, AddressOf OnRangeTypeCheckedChanged
                Case Specialized.NotifyCollectionChangedAction.Add
                    Dim rb As New Windows.Forms.RadioButton
                    rb.Name = RangeTypes(e.NewStartingIndex).Name
                    rb.BackColor = RangeTypes(e.NewStartingIndex).Color
                    rb.Text = RangeTypes(e.NewStartingIndex).LegendText
                    rb.AutoSize = True
                    pnlLegend.Controls.Add(rb)
                    rb.BringToFront()
                    AddHandler rb.CheckedChanged, AddressOf OnRangeTypeCheckedChanged
                Case Specialized.NotifyCollectionChangedAction.Remove
                    Dim rb As Windows.Forms.RadioButton = CType(pnlLegend.Controls(RangeTypes(e.OldStartingIndex).Name), Windows.Forms.RadioButton)
                    rb.Dispose()
            End Select
        End Sub
    Voilà. A priori, ça fonctionne nickel. Et effectivement, quand je fait un run du projet du UserControl, le "UserControl TestContainer" me permet bien d'ajouter/modifier/supprimer cette propriété et les actions appropriés lors de l'édition sont bien effectuées par la procédure OnRangeTypesChanged.

    Par contre, quand j'utilise ce contrôle dans un projet winforms, j'ai beau définir tout ce que je veux dans RangeTypes lors du design, je n'ai, au runtime, que les 3 types par défaut qui sont définis dans le constructeur du contrôle.

    Est-ce lié aux tags que nous avons placés ? Est-ce que cela n'a rien à voir et que je m'y prends mal ? Je suis ouverts à tous conseils.

    Merci d'avance.
    Kropernic

  13. #13
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,
    Citation Envoyé par Kropernic Voir le message
    Bonjour,

    J'ai créé un usercontrol qui fonctionne très bien dans son projet.

    Par contre, lorsque je tente de l'ajouter dans un autre projet pour l'utiliser et le tester, j'ai une erreur qui m'est totalement incompréhensible lors de l'ajout du contrôle sur la winform en mode design...

    Est-ce que ce message incompréhensible pour moi parlerait à certains d'entre vous ?
    OhMonBato avait eu le même problème.
    Normalement en marquant la classe
    cela devrait fonctionner. (cet attribut résolvant le problème d'OhMonBato)

    Note : Perso j'avais eu un souci (dans les tests que j'avais fait pour le problème indiqué dans le lien) car l'absence de cet attribut avait à un moment bloqué mon design (je ne sais pas pourquoi) et j'avais modifier directement dans le .Designer.vb pour débloquer et accéder, il s'en était suivi une pagaille monstre.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  14. #14
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Ah, sur la classe !

    J'avais déjà essayé de taguer la propriété mais pas la classe. Évidemment, sur la propriété, VS râlait.

    Sur la classe, il ne râle pas mais cela ne résout toujours pas mon problème...
    Kropernic

  15. #15
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Voilà, j'ai résolu mon problème et également le problème initiale de manière plus appropriée.

    Pour résumé :

    1° le problème initial :
    il fallait déclarer la classe comme étant sérializable à l'aide de l'attribut <Serializable()>
    2° le nouveau problème :
    il fallait ajout l'attribut <System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)> à la propriété que nous manipulions en mode design et dont nous voulons conserver les données au runtime.
    Kropernic

  16. #16
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Du coup je viens de relire ce que j'ai proposé pour rendre sérialisable, et je me suis trompé, j'ai dit <SerializableAttribute()> en copiant mon code, mais j'avais en tête de rendre la classe sérialisable, donc <Serializable()> ...

    Du coup, maintenant que ta classe est déclarée comme sérialisable, on peut probablement retirer les 2 balises :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)> _
            <System.ComponentModel.Browsable(True)> _
    Pour laisser la main au designer sur la property.

    (Désolé je n'avais pas compris que tu souhaitais pouvoir modifier ta liste depuis le Designer, donc j'ai repris un cas personnel où je masque volontairement une property d'un control perso qui n'a rien à faire dans le Designer ...)


    EDIT: Du coup je suis encore trop long à écrire.
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  17. #17
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Du coup je viens de relire ce que j'ai proposé pour rendre sérialisable, et je me suis trompé, j'ai dit <SerializableAttribute()> en copiant mon code, mais j'avais en tête de rendre la classe sérialisable, donc <Serializable()> ...

    Du coup, maintenant que ta classe est déclarée comme sérialisable, on peut probablement retirer les 2 balises :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)> _
            <System.ComponentModel.Browsable(True)> _
    Pour laisser la main au designer sur la property.

    (Désolé je n'avais pas compris que tu souhaitais pouvoir modifier ta liste depuis le Designer, donc j'ai repris un cas personnel où je masque volontairement une property d'un control perso qui n'a rien à faire dans le Designer ...)


    EDIT: Du coup je suis encore trop long à écrire.
    Pas de souci. J'avais bien enlevé déjà les deux balises que tu m'avais suggéré précédemment. J'aurai appris comment donner des consignes au designer avec ça
    Kropernic

  18. #18
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Ces balises sont plutôt utiles, n'hésite pas à fouiner l'intellisense, y'en a des plutôt pratiques, d'autres facultatives mais qui aident un peu, tu peux pousser le développement d'usercontrols à la perfection avec.

    Par exemple celle-ci te permet de définir un texte pour décrire l'utilité ta property lorsque tu la surlignes en [Design]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <System.ComponentModel.Description("Permet de placer les panneaux en mode Consultation ou en mode Modification")> _
            Public Property mode As modeAffichage [...]
    Voir pièce jointe
    Images attachées Images attachées  
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  19. #19
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Ces balises sont plutôt utiles, n'hésite pas à fouiner l'intellisense, y'en a des plutôt pratiques, d'autres facultatives mais qui aident un peu, tu peux pousser le développement d'usercontrols à la perfection avec.

    Par exemple celle-ci te permet de définir un texte pour décrire l'utilité ta property lorsque tu la surlignes en [Design]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <System.ComponentModel.Description("Permet de placer les panneaux en mode Consultation ou en mode Modification")> _
            Public Property mode As modeAffichage [...]
    Voir pièce jointe


    Depuis le temps que je cherche comment faire ça !!!!!!!


    P.S. : C'est sympa ton interface en noir comme ça, ça a l'air de faire moins mal aux yeux... C'est dans les options de VS qu'on peut faire ça ? (j'ai jamais pris la peine de fouiller...)
    Kropernic

  20. #20
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Bon ba maintenant tu es soulagé d'un poid.

    Et pour l'interface j'ai VS 2012 express, qui par défaut propose tout en noir ou tout en blanc (mais d'autres thèmes officieux sont téléchargeables pour VS express, sinon y'a l'éditeur officiel pour VS officiel). Et oui, ça soulage un peu les yeux, et le fait de garder l'éditeur de texte en blanc permet de plus se concentrer sur le code que de dériver sur les contours de l'éditeur.

    (L'impression d'être un enfant qui montre ses jouets )
    Images attachées Images attachées  
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Exécuter script lors de l'ajout dans un dossier
    Par Zandes dans le forum Windows
    Réponses: 2
    Dernier message: 29/09/2009, 11h09
  2. java.lang.StackOverflowError lors de l'ajout dans une ArrayList
    Par alys56 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 02/04/2008, 18h54
  3. Erreur lors de l'ajout dans une table
    Par k_boy dans le forum Bases de données
    Réponses: 14
    Dernier message: 31/03/2008, 15h05
  4. Réponses: 4
    Dernier message: 31/08/2006, 13h44
  5. [LG]Runtime Error lors d'une recherche dans un fichier
    Par Fraynor dans le forum Langage
    Réponses: 2
    Dernier message: 15/03/2005, 22h51

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