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 :

creer un composant non graphique


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 32
    Points : 37
    Points
    37
    Par défaut creer un composant non graphique
    Salut ,

    tout est dans le titre ,

    je voudrais créer un composant non graphique en visual C#

    en fait une classe d'objet que je pourrais draguer sur ma Form comme,par exemple, un BindingSource.

    est ce possible ??

    merci.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Oui c'est possible: il faut que ton composant utilise un attribut particulier si je me souviens bien.

    Seul problème: je ne me souviens plus du nom de cet attribut Je sais qu'il y a avait Visual dedans mais c'est tout


    Edit: Essaye l'attribut Designer: http://msdn.microsoft.com/msdnmag/is...2/CuttingEdge/

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 32
    Points : 37
    Points
    37
    Par défaut
    j'ai trouvé ce bout de code ..

    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
     
     using System;
     using System.Collections.Generic;
     using System.ComponentModel;
     using System.Drawing;
     using System.Data;
     using System.Text;
     using System.Windows.Forms;
     using System.ComponentModel.Design;
     
     namespace ClassCompo
     {
        public class ChangeCouleur : Component
        {
               private Form _ParentForm; // Page sur laquelle a été déposée le contrôle
               /// <summary>
               /// Constructeur
               /// </summary>
               public ChangeCouleur()
               {
               }
                /// <summary>
                /// Permet de définir/récupérer le contrôle parent
                /// </summary>
                [Browsable(false)]
                public Form ParentForm
                {
                    // Accesseur en lecture
                    get
                    {
                        // Si l'on est en mode design, alors on demande au designer de définir la propriété ParentForm avec
                        // le this de la form contenant l'instance du composant.
                        if (this.Site.DesignMode)
                        {
                            IDesignerHost dh = (IDesignerHost)(this.GetService(typeof(IDesignerHost)));
                            if (dh != null)
                            {
                                object obj = dh.RootComponent;
                                if (obj != null)
                                {
                                    _ParentForm = (Form)obj;
                                }
                            }
                        }
                        return _ParentForm;
                    }
     
                    // Accesseur en écriture
                    set
                    {
                        if (value != null) _ParentForm = value;
                    }
                }
     
                /// <summary>
                /// Ma propriété couleur
                /// </summary>
                public Color Couleur
                {
                    set 
                    {
                        if (_ParentForm == null) return;
                        _ParentForm.BackColor = value;
                    }
                    get 
                    {
                        return _ParentForm.BackColor;
                    }
                }
     
     
     }
     }
    je met donc le tag resolu et j'etudie ca

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

Discussions similaires

  1. Creer des composants graphiques réutilisables
    Par ourseblanche dans le forum Grails
    Réponses: 12
    Dernier message: 13/01/2011, 13h32
  2. Comment créer un composant non graphique paramétré
    Par colorid dans le forum Langage
    Réponses: 4
    Dernier message: 11/10/2009, 21h08
  3. librairie/langage pour creer des composants graphiques ?
    Par Tymk dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 03/07/2008, 07h32
  4. Creer un composant non visuel(Timer) dans une DLL
    Par hugobob dans le forum Composants VCL
    Réponses: 1
    Dernier message: 06/06/2006, 16h20
  5. Problème avec des composants non déclarés
    Par vbcasimir dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/01/2005, 11h17

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