Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1887 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Winform - User Control

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Winform - User Control

n°1020900
liink
Posté le 22-03-2005 à 13:41:12  profilanswer
 

Bonjour,
pour un projet utilisant des winforms, je cherche a faire un controle utilisateur a ajouter dans la toolbox de visual studio. Je voudrai que ce controle puisse offrir une liste de choix dans la fenetre de propriete de visual studio parmi une liste typée que je veux definir.
 
Si dans mon controle utilisateur j'utilise une propriete avec le type Color j'ai bien ma liste a choisir parmi tous les elements de Color, si j'utilise ma propre structure, ca ne fonctionne pas, je suppose qu'il faut utiliser un Iterator ou quelque chose comme ca, mais je ne vois pas comment faire, est ce que quelqu'un aurait un exemple ou une petite explication
 
Merci

mood
Publicité
Posté le 22-03-2005 à 13:41:12  profilanswer
 

n°1020942
gedeon
Posté le 22-03-2005 à 14:21:04  profilanswer
 

Essaye d'être clair parce que la c le brouillard, j'ai rien compris, enfin pas tout!

n°1021048
liink
Posté le 22-03-2005 à 15:26:33  profilanswer
 

Pardon, j'vais essayer d'etre plus explicite.
 
Je veux creer un user control que je veux pouvoir reutiliser par Drag&Drop dans differents formulaires de mon projet.
 
Quand on glisse un winform sur un formulaire, par exemple un textbox, dans la fenetre propriete de droite, je peux par exemple modifier la propriete "Enabled" en true ou false. Ce choix se fait avec une listbox.
 
Dans mon user control, je veux pouvoir faire la meme chose, mais dans une liste que je veux definir moi meme. J'ai fait le test avec un boolean ou une propriete Color existante de .net et ca fonctionne, si je met ma propre liste ou structure, la propriete devient grisé et je ne peux pas choisir d'elements dans ma liste.
 
Donc comment declarer une liste de choix possible sur une propriete de mon user form ?


Message édité par liink le 22-03-2005 à 15:27:25
n°1021053
FlorentG
Posté le 22-03-2005 à 15:28:59  profilanswer
 

Pour une liste de choix, il faut par exemple passer par une énumération

n°1021058
liink
Posté le 22-03-2005 à 15:32:31  profilanswer
 

J'ai essayé enum et struct, mais je n'y arrive pas, a chaque fois ma propriete est grisée.
J'ai essayé ce type de declaration :
 
 

Code :
  1. public struct RegularExpressionType
  2. {
  3. public const string None = "";
  4. public const string DigitOnly = "^[0-9]*$";
  5. public const string AlphaOnly = "[a-Z]*$";
  6. public const string CP = "\\d{5}";
  7. }


 
avec l'accesseur suivant :
 

Code :
  1. public RegularExpressionType RegularExpression
  2. {
  3. get {return _regularExpression;}
  4. set {_regularExpression = value;}
  5. }


Message édité par liink le 22-03-2005 à 15:38:07
n°1021063
FlorentG
Posté le 22-03-2005 à 15:33:40  profilanswer
 

Envoi un morceau de code de ta classe

n°1021266
liink
Posté le 22-03-2005 à 17:00:59  profilanswer
 

j'etais en train de le faire quand tu l'as demandé :)
cf ci dessus le code

n°1037627
liink
Posté le 06-04-2005 à 15:58:44  profilanswer
 

J'ai trouvé, mais j'ai oublié de donner la reponse :
il faut creer un type enum et non pas une structure comme ci dessus
 
Et ensuite j'ai fait une classe qui fait la liaison entre l'element enumeré choisi et une vrai donnée typée telle qu'un string ou quelque chose de plus complexe.


Message édité par liink le 06-04-2005 à 15:59:11
n°1037629
FlorentG
Posté le 06-04-2005 à 15:59:51  profilanswer
 

Et y'a aussi 2-3 attributs à mettre sur la propriété pour indiquer les valeurs par défaut, la catégorie de la propriété, etc...

n°1037649
liink
Posté le 06-04-2005 à 16:05:59  profilanswer
 

ah ! tu m'interresses alors, parce que par defaut chez moi, j'ai du mettre dans mon enumeration un element a 0 qui etait apparemment celui pris par defaut.
Pour la categorie je suppose que tu parles de ce genre de syntaxe comme pour la description :
 
[Description("Blablabla" )]
 
a coller avant l'accesseur ?


Message édité par liink le 06-04-2005 à 16:06:16
mood
Publicité
Posté le 06-04-2005 à 16:05:59  profilanswer
 

n°1037663
FlorentG
Posté le 06-04-2005 à 16:09:29  profilanswer
 

Pour la valeur par défaut, avec par exemple un boolean :

<DefaultValue(False)> _
Public Property Pouet() As Boolean
...


Pour les catégories, c'est dans le panneau de propriétés : apparence, comportement, divers, etc...

<Category("Behavior" )> _
Public Property Pouet() As Machin


Ca évite que tes propriétés squattent pauvrement dans "Divers" :D


Message édité par FlorentG le 06-04-2005 à 16:09:51
n°1047017
liink
Posté le 14-04-2005 à 10:04:57  profilanswer
 

Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Winform - User Control

 

Sujets relatifs
[c#] reflexivité et controlPermission d'un user FTP
IIS, Tomcat, NTLM & REMOTE USER [RESOLU]Utilisation de control progress
Win32, listview control : Changer la font d'une seule colonne ?changer de user durant l'execution d'un script
curl, fsockopen,... passer un proxy (avec user et pass)[PHP & Flash] Formulaire en Flash > Pb de Control données ! :'(
Script vba création user ADexecuter un scrpt en fonction de l'ip de l'user
Plus de sujets relatifs à : Winform - User Control


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR