2009-11-18 2 views
1

Visual Studio crée un code similaire à ceci:Des Winforms personnalisés contrôlent-ils les fichiers de conception générés automatiquement?

namespace MyCustomControls 
{ 
    partial class MyCustomControl 
    { 
     /// <summary> 
     /// Required designer variable. 
     /// </summary> 
     private System.ComponentModel.IContainer components = null; 

     /// <summary> 
     /// Clean up any resources being used. 
     /// </summary> 
     /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> 
     protected override void Dispose (bool disposing) 
     { 
      if (disposing && (components != null)) 
      { 
       components.Dispose (); 
      } 
      base.Dispose (disposing); 
     } 

     #region Component Designer generated code 

     /// <summary> 
     /// Required method for Designer support - do not modify 
     /// the contents of this method with the code editor. 
     /// </summary> 
     private void InitializeComponent () 
     { 
      components = new System.ComponentModel.Container (); 
     } 

     #endregion 
    } 
} 

Répondre

3

Le fichier concepteur personnalisé est indispensable si vous utilisez la surface de concepteur pour mettre des contrôles enfants etc (assez-bien quoi que ce soit dans le concepteur). Si vous ne sont pas faire alors cela (par exemple, vous utilisez la peinture personnalisée, ou en ajoutant les contrôles enfants manuellement), alors vous pouvez généralement tuer ce fichier en toute sécurité.

À certains égards, cela rend plus facile à mettre en œuvre Dispose() etc.

+0

Merci Marc. Vous avez dit "D'une certaine manière cela rend plus facile l'implémentation de Dispose() etc." Vous voulez dire tuer le fichier? Je vois qu'ils ont des méthodes de disposition là-bas, donc pensé que le fichier pourrait être nécessaire pour un bon élimination de votre contrôle. –

0

à proprement parler, je ne pense pas, mais vous perdrez tout avantage de temps de conception que vous obtenez lors de la création du contrôle, et je suppose que VS continuera à essayer de les recréer.

1

Non, le code généré à partir de la création initiale d'un nouveau contrôle personnalisé n'est pas nécessaire. Il ne fait rien de fonctionnel et peut essentiellement être commenté hors de votre application.

Cependant, le moment où vous faites quelque chose avec votre contrôle personnalisé dans le concepteur, très important et le code utile sera généré dans le fichier de concepteur. Comme la création de contrôles supplémentaires, le branchement du gestionnaire d'événements et l'initialisation et la mise en page de base. Ce code ne peut pas être supprimé.

+0

Mais il a une méthode de disposition. Savez-vous si cela est nécessaire ou approprié Dispose? Je n'appelle pas disposer sur mes commandes. Je ferme juste le formulaire. –

+0

La fermeture du formulaire appellera Dispose. ** MAIS ** qui dispose est seulement pour le code dans ce fichier. La définition des classes de base de Dispose fera l'autre chose importante! – tster

1

Vous obtenez ces fichiers, la configuration de classe partielle et la surface de conception car vous avez démarré avec le modèle CustomControl.

Vous pouvez également démarrer un contrôle en ajoutant une «nouvelle classe» et ajouter uniquement les éléments dont vous avez réellement besoin. Si vous n'utilisez pas le concepteur (et vous ne le faites habituellement pas pour un CustomControl), le fait de l'avoir n'est que gênant.

Questions connexes