2010-07-30 6 views
0

Tout le monde a rencontré un problème lors de la création d'un UserControl dans une bibliothèque, puis l'a laissé tomber dans un projet Form ... changez ce contrôle par exemple. BackColor et la reconstruction, les modifications ne reflètent pas dans le projet Form?UserControl ne reflète pas les modifications dans Visual Studio 2010

EDITED: lors de la mise à jour de la commande, par ex. changer les contrôles, supprimer les nouveaux contrôles à l'intérieur du contrôle, la mise à jour est en cours. On dirait que les commandes backcolor restent statiques ou ne changent qu'une seule fois.

C'est tellement boiteux, et je suis si fatigué d'essayer de trouver quel est le problème! Je utilise VS2010 Ultimate, Windows 7 x64.

J'ai trouvé lors de la suppression du contrôle, ajoute dans l'initialisation designr sur la backcolor. Si je supprime cela cela fonctionne. À quel point est-ce? Cela ressemble à un bug pour moi? est-ce?

Vous ne pouvez le faire qu'une seule fois!

Répondre

0

La propriété BackColor que vous avez définie dans le Concepteur de contrôles et la propriété BackColor que vous avez définie dans le Concepteur de fiches sont la même propriété, celle du Concepteur de contrôles agissant par défaut. Le concepteur de formulaires le définit explicitement, oui, vous devez donc le redéfinir si vous modifiez la valeur par défaut.

Vous constaterez que si vous rajoutez le contrôle, il aura la couleur de fond appropriée.

Pour résoudre ce problème, modifiez simplement la propriété dans le formulaire à la bonne couleur.

+0

Oui, c'est la bonne solution. Je suppose que j'ai juste attendu pour refléter la couleur par défaut du contrôle dans le formulaire aussi. C'est beaucoup plus clair maintenant ce comportement. –

3

Ceci est un bug dans VS2010.

Lorsque vous ajoutez un contrôle personnalisé à un concepteur dans le même projet, VS ajoute une référence au projet lui-même. Après l'ajout d'un contrôle à un concepteur dans le même projet, vous devez supprimer cette référence.

+0

Désolé, je ne vois aucune référence de moi-même. Vous voulez dire ajouter un contrôle personnalisé dans la même solution, mais à partir d'un projet différent, ajouter une référence à partir de la bibliothèque du contrôle? Si oui, c'est le bon comportement. Si vous voulez dire quelque chose comme l'auto-référencement, je ne vois rien de tel, ce qui est presque impossible !!! edit: Auto-référencement ne se passe pas en fonction de l'URL que vous m'avez fournie. –

+0

@gtas: Ce bug ne s'applique que si le formulaire et le contrôle sont dans le même projet. – SLaks

+0

J'ai essayé cela aussi et fonctionne correctement! –

0

Si les deux projets sont dans la même solution, modifiez la référence à une référence de projet (Ajouter une référence, onglet Projets) et essayez de reconstruire la solution entière.

Sinon, créez la bibliothèque et le formulaire, dans cet ordre.

+0

C'est une référence de projet ... la reconstruction semble mettre à jour les fichiers bin dans les deux projets mais semble que les changements ne se reflètent pas dans la même bibliothèque de contrôle, icant obtenir une autre explication. –

+0

@gtas: Ceci est un bug dans VS2010. Laisser tomber un contrôle sur un formulaire dans le même projet ajoute une référence au projet lui-même. Supprimer cette référence. http://stackoverflow.com/questions/3001380/visual-studio-adds-a-circular-reference-when-i-drag-and-drop-a-user-control-from – SLaks

Questions connexes