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

C# Discussion :

Gros problème de classe inexistante


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 141
    Points : 110
    Points
    110
    Par défaut Gros problème de classe inexistante
    J'ai peut être loupé un truc dans la msdn mais il y a un exemple qui parle de la classe System.Windows.Forms.Design.ControlDesigner. Cette classe est documenté dans la msdn.

    Le gros souci, c'est avec VisualStudio lorsque j'hérite de cette classe il me jette en me disant que la classe n'existe pas ! J'ai tout essayer () mais même en rajoutant toutes les références du monde rien y fait! Impossible de trouver la classe dans le framework

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Citation Envoyé par mrrenard Voir le message
    J'ai peut être loupé un truc dans la msdn mais il y a un exemple qui parle de la classe System.Windows.Forms.Design.ControlDesigner. Cette classe est documenté dans la msdn.

    Le gros souci, c'est avec VisualStudio lorsque j'hérite de cette classe il me jette en me disant que la classe n'existe pas ! J'ai tout essayer () mais même en rajoutant toutes les références du monde rien y fait! Impossible de trouver la classe dans le framework
    La classe est présente dans toutes les versions du framework.
    Voici l'exemple MSDN :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    using System;
    using System.ComponentModel;
    using System.ComponentModel.Design;
    using System.Collections;
    using System.Drawing;
    using System.Windows.Forms;
    using System.Windows.Forms.Design;
     
    namespace ControlDesignerExample
    {
        // ExampleControlDesigner is an example control designer that 
        // demonstrates basic functions of a ControlDesigner.
        [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")] 
        public class ExampleControlDesigner  : System.Windows.Forms.Design.ControlDesigner
        {
            // This boolean state reflects whether the mouse is over the control.
            private bool mouseover = false;
            // This color is a private field for the OutlineColor property.
            private Color lineColor = Color.White;
     
            // This color is used to outline the control when the mouse is 
            // over the control.
            public Color OutlineColor
            {
                get
                {
                    return lineColor;
                }
                set
                {
                    lineColor = value;
                }
            }
     
            public ExampleControlDesigner()
            {
            }
     
            // Sets a value and refreshes the control's display when the 
            // mouse position enters the area of the control.
            protected override void OnMouseEnter()
            {
                this.mouseover = true;
                this.Control.Refresh();
            }    
     
            // Sets a value and refreshes the control's display when the 
            // mouse position enters the area of the control.        
            protected override void OnMouseLeave()
            {
                this.mouseover = false;            
                this.Control.Refresh();
            }        
     
            // Draws an outline around the control when the mouse is 
            // over the control.    
            protected override void OnPaintAdornments(System.Windows.Forms.PaintEventArgs pe)
            {
                if(this.mouseover)
                    pe.Graphics.DrawRectangle(new Pen(new SolidBrush(this.lineColor), 6), 0, 0, this.Control.Size.Width, this.Control.Size.Height);        
            }
     
            // Adds a property to this designer's control at design time 
            // that indicates the outline color to use.
            protected override void PreFilterProperties(System.Collections.IDictionary properties)
            {
                properties.Add("OutlineColor", TypeDescriptor.CreateProperty(typeof(ExampleControlDesigner), "OutlineColor", typeof(System.Drawing.Color), null));
            }
        }
     
        // This example control demonstrates the ExampleControlDesigner.
        [DesignerAttribute(typeof(ExampleControlDesigner))]
        public class ExampleControl : System.Windows.Forms.UserControl
        {        
            private System.ComponentModel.Container components = null;
     
            public ExampleControl()
            {
                components = new System.ComponentModel.Container();
            }
     
            protected override void Dispose( bool disposing )
            {
                if( disposing )
                {
                    if( components != null )
                    components.Dispose();
                }
                base.Dispose( disposing );
            }
        }
    }

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 141
    Points : 110
    Points
    110
    Par défaut
    Peut-être mais si tu met System.Windows.Forms.ControlDesigner dans ton code, tu verra que le compilo te jette en disant : Le type ou le nom d'espace de noms 'ControlDesigner' n'existe pas dans la classe ou l'espace de noms 'System.Windows.Forms.Design' (une référence d'assembly est-elle manquante ?)

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 547
    Points : 627
    Points
    627
    Par défaut
    Salut,

    le monsieur de la MSDN te dit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ControlDesigner, classe
    
    Étend le comportement en mode Design de Control.
    
    Espace de noms : System.Windows.Forms.Design
    Assembly : System.Design (dans system.design.dll)
    Tu as bien ajouté cet assembly ? =p

    Bon courage.

    NB : chez moi, ca marche !

  5. #5
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Bon je me suis fais griller (le temps d'ouvrir un projet winform et de regarder la page msdn)

    Mais donc comme le dit MSDN et SirJulio il faut rajouter une assembly :
    Assembly: System.Design (in system.design.dll)
    Je l'ai fait et cela marche !!!

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 141
    Points : 110
    Points
    110
    Par défaut
    Je suis bien aveugle alors, j'avais pas vu que ça venait de System.Design
    Merci

  7. #7
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    salut

    t'as bien mis la reference sur

    system.design ?

    The Monz, Toulouse

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

Discussions similaires

  1. Template, classes, héritage et gros problème
    Par alpha_one_x86 dans le forum Débuter
    Réponses: 33
    Dernier message: 01/07/2012, 13h27
  2. Problème de classe
    Par DeusXL dans le forum DirectX
    Réponses: 15
    Dernier message: 04/12/2005, 14h37
  3. Gros problème de session/cookies
    Par valfredr dans le forum XMLRAD
    Réponses: 18
    Dernier message: 03/06/2004, 09h21
  4. [Compilation] classe inexistante
    Par pacha1 dans le forum Général Java
    Réponses: 8
    Dernier message: 27/05/2004, 15h19
  5. Gros Problème avec DirectShow et la méthode RELEASE
    Par Olivier Delmotte dans le forum DirectX
    Réponses: 3
    Dernier message: 10/03/2003, 18h10

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