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 : obliger une propriété à être d'un type qui hérite d'un type de base bien précis


Sujet :

VB.NET

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    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 : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut usercontrol : obliger une propriété à être d'un type qui hérite d'un type de base bien précis
    Bonjour,

    Je m'amuse actuellement à créer un contrôle pour afficher un diagramme de Gantt (ceux que l'on peut trouver sur le net en libre/payant ne correspondent pas bien à mon besoin).

    Dans le code de mon usercontrol, j'ai donc une propriété que j'ai nommée DataSource qui sera chargée de recevoir les données à afficher dans le diagramme (aussi bien dans le DataGridView de gauche que la PictureBox de droite (cf. image en pièce jointe).

    Le hic, c'est que pour afficher les barres dans ma PictoreBox, j'ai besoin d'informations spécifiques.

    Pour donner un exemple concret, voici un modèle simple de classes :
    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
    Public Class Employee
        Public Property Name As String
        Public Property Ranges As List(Of Range)
        Public Sub New(name As String)
            Me.Name = name
            Ranges = New List(Of Range)
        End Sub
        Public Sub AddRange(debut As Decimal, fin As Decimal, type As Range.TypeRange)
            ...
        End Sub
        Public Function GetRangeSurrounding(time As Decimal) As Range
            ...
        End Function
        Private Sub AddSimplifiedRange(debut As Decimal, fin As Decimal, type As Range.TypeRange)
            ...
        End Sub
        Private Sub SimplifyRange()
            ...
        End Sub
        Private Function GetRangeById(id As Integer) As Range
            ...
        End Function
    End Class
    Public Class Range
        Public Property Id As Integer
        Public Property Debut As Decimal
        Public Property Fin As Decimal
        Public Property Type As TypeRange
        Public Property Text As String
     
        Public Sub New(id As Integer, debut As Decimal, fin As Decimal, type As TypeRange)
            Me.Id = id
            Me.Debut = debut
            Me.Fin = fin
            Me.Type = type
        End Sub
    End Class
    Bon, là j'avais le test avec des employés donc la classe s'appelle Employee mais l'idée est là. Pour que mon contrôle fonctionne, il faut que l'objet passé à ma propriété DataSource hérite de cette classe Employee (qui sera bien sûr renommée de manière appropriée).

    Ma question est donc : Comment définir que, pour une propriété d'une classe, son type DOIT hériter d'un type précis ?
    Images attachées Images attachées  

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/09/2013, 13h25
  2. Réponses: 2
    Dernier message: 28/06/2007, 15h56
  3. [Composant] publier une propriété avec un type perso
    Par jpc34 dans le forum C++Builder
    Réponses: 6
    Dernier message: 12/10/2004, 08h39
  4. Réponses: 2
    Dernier message: 18/10/2003, 14h42
  5. Récupération valeur d'une propriété type TStrings
    Par Stéphane Vaillant dans le forum Langage
    Réponses: 2
    Dernier message: 01/03/2003, 11h47

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