Pourquoi Visual Studio a-t-il ajouté ce code à la classe partielle de classe.designer.cs.
Quelqu'un peut-il me dire quand cette variable de composants va avoir une certaine valeur? Quel est le modèle à suivre ici?
4 Réponses :
Le champ privé le motif affiché dans le composants code> est utilisé pour suivre les composants jetables sur votre formulaire. Essayez de faire glisser dans un composant code> composant code>, et vous devez voir quelque chose comme celui-ci dans le code généré par concepteur: Dispose (BOOL) code> La méthode est généralement appelée Le Jetable motif . Fondamentalement, le motif garantit que tous les composants suivis seront disposés, même si vous n'appelez jamais la méthode Disposer code> explicitement, auquel cas la classe de base de votre formulaire appellera le Dispose code> méthode dans son finaliseur (pendant la collecte des ordures). P> p>
composants code> est attribué lorsque vous ajoutez des composants non visuels, qui doivent également être disposés sous une manière déterminisite (pour plus d'informations, reportez-vous au motif Idisposable). P>
Tous les composants ne l'utilisent pas bien, par exemple une aideProvider et EventLog. Vous pouvez même le commenter dans ces cas. Cela ressemble à un bodge MS pour moi. P>
Heh, sous une forme sans composants jetables, Resharper suggère de rendre le champ Readonly Code> :)
Il s'agit du code produit par le modèle d'élément de formulaire (Common7 \ Ide \ ItemTemplates \ csharp \ Windows Forms \ 1033 \ form.zip \ form.designer.cs). Il possède en fait un bogue, la méthode initializececomonent () qu'il contient inindice inutilement la variable "Ceci.cavants". Vous pouvez supprimer en toute sécurité l'instruction du code si votre formulaire n'a pas de composants. Le concepteur le remettra automatiquement si vous ajoutez un composant plus tard. P>
Une autre chose qui n'est pas si agréable est que la méthode Dispose () est mise dans le fichier de concepteur.cs. Il appartient vraiment au fichier de form.cs afin que vous puissiez ajouter des appels () appels pour des champs de votre formulaire à dispositionner. N'hésitez pas à déplacer le code vous-même, modifiant le fichier de concepteur de cette manière n'a aucun effet secondaire désagréable. Restez à l'écart du code qui est entre crochets avec la région «Code généré». P>
Comme mentionné dans la plupart des autres réponses, ce code est nécessaire pour appeler la méthode Disposer () de tout composant que vous avez déposé sur le formulaire lorsque le formulaire est fermé. Les commandes sur le formulaire doivent également être disposées mais c'est automatique. La classe de formulaire les retrouve en itérant la collection de contrôles. P>
«Déplacez-vous vers le code (du designer)» est utile pour moi. Merci!