Je suis en train de créer un formulaire utilisateur .Net en utilisant C# et je le remplis de commandes utilisateur personnalisées. Les contrôles ont chacun un accesseur qui obtient et définit l'objet qui contient les données que le contrôle sera rempli.Construction de contrôles utilisateur .Net
Lors de l'exécution, tout fonctionne très bien, mais au moment de la conception, j'obtiendrai des erreurs dans le concepteur de formulaires. Les erreurs sont toujours sur les lignes de "Impossible de convertir un objet de type [ObjectA] en un objet de type [ObjectA]"
À ce stade, je peux aller dans le fichier resx et supprimer la ligne qui fait référence à l'objet de type ObjectA, puis allez dans le fichier designer.cs et supprimez la ligne dans InitializeComponent qui définit l'accesseur du contrôle sur les données du fichier resx.
Une fois cela fait, le formulaire s'affiche dans le concepteur jusqu'à ce qu'il reconstruise le InitializeComponet et réinsère les lignes/données dans le resx et InitializeComponent.
Qu'est-ce qui me manque dans le contrôle et la conception de classe qui mettra fin à ce cycle? J'ai essayé d'utiliser le mode d'utilisation de Liscence et le mode d'exécution de Designer avec des résultats mitigés et je préférerais que je puisse résoudre ce problème dans ma conception.
Merci pour toute aide que vous pouvez fournir.
Mise à jour: « ObjectA est nul, ce n'est pas autorisé » J'ai ajouté l'attribut ...
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
à la propriété et je suis une erreur dans le concepteur, alors j'ai changé la ligne. ..
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
et le problème est parti. Comme je n'ai pas besoin de définir l'une de ces propriétés au moment du design, l'attribut caché est probablement plus approprié.
Merci.