Comment empêchez-vous le concepteur de générer automatiquement du code qui définit la valeur des propriétés publiques sur un contrôle utilisateur?Comment arrêtez-vous le code de création Designer pour les propriétés publiques sur un contrôle utilisateur?
Répondre
Utilisez DesignerSerializationVisibilityAttribute sur les propriétés que vous voulez cacher la sérialisation concepteur et définissez le paramètre Hidden.
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public string Name
{
get;
set;
}
Ah, enfin je peux résoudre ce problème ennuyeux! –
Très utile si le formulaire de base a une propriété publique liée à la propriété text d'un contrôle. L'éditeur veut définir la valeur sous forme héritée et ainsi déranger avec la localisation. Semblable à [un autre problème] (http://stackoverflow.com/q/13145340/395718) sur SO. – Dialecticus
Ajoutez les attributs suivants à la propriété dans votre contrôle:
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
Un léger changement à la réponse de Erik J'utilise VS 2013.
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public new string Name {
get;
set;
}
Mon nom de la propriété à "Nom" était malheureux. Il aurait été préférable de le nommer quelque chose de différent puisque tous les contrôles ont déjà une propriété Name. C'est la raison pour laquelle vous devez utiliser le nouveau mot-clé pour masquer la propriété de la classe de base. :) –
Oui, je suis tombé sur moi-même depuis la réponse. – peterincumbria
Comme mentionné par Erik lui-même cette réponse, n'ajoute rien à nouveau à la question réelle – TheLethalCoder
Je me demande quel est le but de concepteur de singe avec vos propriétés ... – GorillaApe
j'avais des problèmes concepteur d'ouverture parce que je d accidentellement sérialisé un objet d'une ancienne version d'un classlib que j'utilisais. Tedious to trace: http://stackoverflow.com/questions/28272552/visual-studio-2013-designer-trying-to-load-wrong-version-of-project-dll – scotru