Winform - User Control - la ligne Controls.add viré de initialization

Winform - User Control - la ligne Controls.add viré de initialization - C#/.NET managed - Programmation

Marsh Posté le 14-04-2005 à 10:09:13    

J'ai un user control que je depose sur un de mes formulaires.
A la creation tout s'enregistre correctement, ca fonctionne, mais si j'edite mon formulaire, la ligne permettant d'ajouter mon user control a mon formulaire disparait et par consequent mon user control n'est plus affiché.
 
Pourquoi est ce que j'ai ce comportement ?


Message édité par liink le 14-04-2005 à 13:58:05
Reply

Marsh Posté le 14-04-2005 à 10:09:13   

Reply

Marsh Posté le 14-04-2005 à 10:43:04    

Quand tu parles d'éditer ton formulaire, tu fais quoi exactement ?

Reply

Marsh Posté le 14-04-2005 à 10:58:36    

l'ouvrir en mode design sans rien faire de plus.
 
Pour contrer ca je suis obliger de coller mon Control.Add dans mon constructeur de formulaire, ce qui n'est pas terrible (et qui en plus n'affiche pas mon user control en mode design) mais au moins cette ligne n'est pas supprimée

Reply

Marsh Posté le 14-04-2005 à 11:59:40    

des que tu utilises des customs controls, sachant que vs ne les connait pas, il les fait peter de l'initialize component (en fait, ce code est regenere a chaque fois me semble t il)
Donc il y a 2 solutions :  
soit tu fais ta maquette et une fois fini tu rajoutes tes customs dans le code
soit tu ajoutes tes customs controls a la listes des controles pris en charge par vs.

Reply

Marsh Posté le 14-04-2005 à 12:00:10    

Euh... Chez moi il ne les as jamais giclé

Reply

Marsh Posté le 14-04-2005 à 12:09:29    

ca depend des fois (en tt cas sous vs2003)
Je developpe un framework dans lequel j'ai redefini une quinzaine de controles. le designer ne m'a servi qu'a maquetter l'appli. maintenant que j'ai remplace les controles natifs par les miens, si jamais j'ai le malheur de lancer le designer, l'initialize component est regenere (environ 1 fois sur 2)


Message édité par fred_p le 14-04-2005 à 12:10:17
Reply

Marsh Posté le 14-04-2005 à 12:10:25    

Ouais, l'initialize component est toujours regénéré pour chaque modif. Maintenant si y'a un de tes contrôles, il va le laisser.

Reply

Marsh Posté le 14-04-2005 à 12:17:28    

je viens de refaire le test a l'instant:
 il m'en a fait sauter certains,
 il a modifier toutes les instanciations (tant pis pour le down casting),
 et il a fait peter les positionnements...

Reply

Marsh Posté le 14-04-2005 à 13:56:44    

oui exactement ce que j'ai aussi,
positionnements et Control.Add qui saute.
 
Quand tu parles d'ajouter le control a la liste des controles geres pas vs2003, ca consiste a faire quoi ?


Message édité par liink le 14-04-2005 à 13:57:21
Reply

Marsh Posté le 14-04-2005 à 14:04:33    

Dans la toolbox, tu rajoute une référence à l'assembly qui contient ton usercontrol

Reply

Marsh Posté le 14-04-2005 à 14:04:33   

Reply

Marsh Posté le 14-04-2005 à 14:06:43    

pour du winform :
clic droit sur la palette, ajouter.
charger la dll de ton projet, choisir ton custom control.
 
Si ton controle est complexe passe par un custom control (projet, nouveau projet, projet c#, bibliotheque de control windows ou un truc comme ca).
 

Reply

Marsh Posté le 14-04-2005 à 14:07:53    

merci, j'essaierai ca

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed