Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Propriétés de controle utilisateur en vb.net [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (Apophis)

samedi 28 janvier 2006 à 14:59:31 | Propriétés de controle utilisateur en vb.net

Apophis


Bonjour,
je voudrais savoir s'il est possible de créer des propriétés de controles utilisateurs qui comprennent des sous proprietés.
Comme le propriété Font par exemple qui qd on clique sur le + fait apparaitre name,size,unit ....
Merci d'avance

samedi 28 janvier 2006 à 16:18:00 | Re : Propriétés de controle utilisateur en vb.net

Charles Racaud

Membre Club
Bonjour,

Il faut faire une class qui comprens ces propriéts:

Public Class Font
  Public Property Bold() As Boolean
    Get
      [...]
    End Get
    Set(ByVal value As Boolean)
      [...]
    End Set
  End Property

 
Public Property Name() As String
    Get
      [...]
    End Get
   
Set(ByVal value As String)
     
[...]
    End Set
  End Property

  [...]
End Class

Ensuite la propriété renvoie la classe:

[...]
Private m_Font As New Font
Public ReadOnly Property Font() As Font
  Get
    Return m_Font
  End Get
End Property

[...]

Kenji

Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.

samedi 28 janvier 2006 à 16:51:38 | Re : Propriétés de controle utilisateur en vb.net

Apophis

Merci pour la réponse, mais j'aurais besoin de quelques précisions (je suis débutant en vb.net), car j'ai pas réussi à faire fonctionner.
La
Public Class Font, il faut bien le mettre en dehors du public class ctl (où ctl est le nom du controle utilisateur) ?
et sinon que faut il mettre dans les get de Bold et Name ? Return m_font.bold et m_font.name?
ou alors créer de nouvelles variables public ....
Bref je suis un peu dans le flou





samedi 28 janvier 2006 à 17:15:21 | Re : Propriétés de controle utilisateur en vb.net

Charles Racaud

Membre Club
Alors,
pour ce qui faut mettre dans les get, c'est à toi de voir selon ta classe. Par défaut, on met (pour la prop. Bold): Return MyClass.m_Bold
Sinon, il faut déclarer la Classe Font en public vu que ta propriété est en Public. Tu peut donc mettre la classe Font dans la class Ctl ou en dehors. C'est toi qui voit.
Ici, je l'ai mis dans la class Ctl (J'ai du renomer la class Font en FontProperty parsque j'utilisait déjà la propriété Font)

Public Class Ctl

  Public Class FontProperty
    Private m_Bold As Boolean
    Private m_Name As String

    Public Property Bold() As Boolean
      Get
        Return MyClass.m_Bold
      End Get
      Set(ByVal value As Boolean)
        MyClass.m_Bold = value
      End Set
    End Property
    Public Property Name() As String
      Get
        Return MyClass.m_Name
      End Get
      Set(ByVal value As String)
        MyClass.m_Name = value
      End Set
    End Property
  End Class

  Private m_Font As New FontProperty
  Public ReadOnly Property Font() As FontProperty
    Get
      Return m_Font
    End Get
  End Property

End Class


Kenji

Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.

samedi 28 janvier 2006 à 17:52:03 | Re : Propriétés de controle utilisateur en vb.net

Apophis

bon j'ai recopié le code tel quel, il me le génère sans probleme.
Mais après quand j'utilise le controle sur une autre form, le champ correspondant à la proprieté est grisé et ne peut etre modifié. Et il est ecrit dedans: Nomprojet.Nomductl+FontProperty
Donc je sais pas d'ou peut venir ce probleme.
Je precise tout de meme que j'ai Visual Studio.net 2003 et pas la derniere version.
sinon en principe pour utiliser un ctl dans une form il suffit bien de faire generer la solution?
Voila désolé d'être un peu insistant. En tout cas je vois dans l'esprit coment c'est censé marcher mais ca ne marche pas dans la pratique.

samedi 28 janvier 2006 à 19:08:26 | Re : Propriétés de controle utilisateur en vb.net

Charles Racaud

Membre Club
Réponse acceptée !
Piouf, après quelques recherche j'ai trouvé.
Il fallait lui dire que c'était un groupe de propriété.
Donc, ca donne

Public Class Ctl

  <System.ComponentModel.TypeConverter(GetType(System.ComponentModel.ExpandableObjectConverter))> _
  Public Class FontProperty
    Private m_Bold As Boolean
    Private m_Name As String

    Public Property Bold() As Boolean
      Get
        Return MyClass.m_Bold
      End Get
      Set(ByVal value As Boolean)
        MyClass.m_Bold = value
      End Set
    End Property
    Public Property Name() As String
      Get
        Return MyClass.m_Name
      End Get
      Set(ByVal value As String)
        MyClass.m_Name = value
      End Set
    End Property
  End Class

  Private m_Font As New FontProperty

  Public ReadOnly Property Font() As FontProperty
    Get
      Return m_Font
    End Get
  End Property

End Class

Voili, voilou,
Maintenant, faut que vs2003 le prennent en charge.

Kenji

Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.

samedi 28 janvier 2006 à 20:14:25 | Re : Propriétés de controle utilisateur en vb.net

Apophis

Merci beaucoup !!
Ca marche nickel
Merci d'avoir passé du temps à m'aider. Je vais pouvoir rentrer maintenant dans le vif du sujet



Cette discussion est classé dans : net, vb, controle, utilisateur, propriétés


Répondre à ce message

Sujets en rapport avec ce message

VB.NET Controle utilisateur Type Form [ par COlive ] Bonjour,je cherche le moyen de créer un controle utilisateur qui n'a pas d'interface à la création (Comme le timer pas exemple) mais qui possede une m creation d'un controle activex avec vb.net [ par ibmnoussa ] salutsvp je veux creer un composant activex avec vb.net .ce composant a la forme d'un emploi de temps (un peu comm datagrid)svp je veux qu'on m'aide v [VB.NET][WINFORM] Ou trouver le tableau type "propriétés" de VS2003 ? [ par oxboz ] Bonjour, Je ne suis pas un habitué des librairies de dotNet. J'aurai voulu savoir si une d'entre elles me donner la possibilité d'intégrer un tableau vb net 2005 : Comment initialiser des propriétés et lancer des sub d'une classe au démarrage ? [ par SAXOBIC ] Bonjour,j'ai créé une classe avec différentes propriétés et routines.j'aurais besoin  que certaines propriétés récupèrent des valeurs de routines de c [VB.NET] Permettre à l'utilisateur de pouvoir redimensionner les control pendant l'exécution [ par et1 ] Bonjour,J'utilise Microsoft VB .net 2003Je voudrai savoir comment faire pour que les utilisateurs puissent redimentionner (et déplacer) les controls, VB 2005 sans .NET ? [ par clempar55 ] Bonjour à tousVoila je suis nouveau en VB et j'ai téléchargé VB Express 2005 pour créer rapidement des interfaces pour mes prog en C .Mais j'ai l'impr Aide propriétés Excel avec vb.net [ par toosdu87 ] Bonjour je suis débutant en vb.net.J'utilise visual studio 2005 express.Je souhaite exporter un fichier texte avec des données vers excel. Je parviens Les contrôle utilisateur sur VB.NET [ par chab_mostafa ] hollaJe cherche un site pour télécharger gratuitement des contrôle utilisateur (ocx en vb6).Et j'aimerai un support de cours ou un aide  :   comment l le controle line en vb.net ? [ par mitnickKevin ] Bonjour a tous,Je voudrais savoir ou est passe le controle "line", present dans les controles communs de vb6, en vb.net?J'en ai besoin pour faire un p Composant utilisateur [ par schummi ] Bonjour, je souhaiterai, depuis VB.NET, créer un composant avec par exemple une seule methode me renvoyant un message "bonjour". Comment dois-je écri


Nos sponsors

Sondage...

CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.