2010-03-18 6 views
1

j'ai vu une question similaire posée et répondue pour ASP.net ici How do I prevent Visual Studio from renaming my controls?Windows Forms concepteur renommer copie/contrôles empâtées

Mais j'essaie d'éviter cela tout en écrivant un Windows Forms application dans VS 2008 en utilisant C#. Je veux copier/coller une tonne de contrôles sans qu'ils soient appelés Checkbox1 etc. Je préfère les renommer manuellement car c'est seulement un petit changement au nom.

Répondre

2

Vous pouvez ouvrir le fichier de code du concepteur et copier directement les bits dont vous avez besoin.

Vous devrez copier les déclarations (en bas), les instanciations et les appels BeginInit (en haut de InitializeComponent), les propriétés (marquées de commentaires) et enfin les appels EndInit en bas. Vous devrez également vous assurer que tous les contrôles sont ajoutés à la collection Controls du formulaire/usercontrol, également en bas.

private void InitializeComponent() 
{ 
    this.components = new System.ComponentModel.Container(); 
    this.button = new System.Windows.Forms.Button(); 
    this.SuspendLayout(); 
    // 
    // button 
    // 
    this.button.Location = new System.Drawing.Point(1, 5); 
    this.button.Name = "Button1";   
    this.button.Size = new System.Drawing.Size(20, 50); 
    // 
    // Form1 
    // 
    this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 
    this.Controls.Add(this.button); // This is important 
    this.Name = "Form1"; 
    this.Size = new System.Drawing.Size(569, 394); 
    this.ResumeLayout(false); 
} 

#endregion 

private System.Windows.Forms.Button button; 
+0

C'est une bonne idée. J'avais commencé à penser dans ce sens - d'autant plus que je trouverais avantage à trouver et à remplacer ici. Merci pour les détails sur la façon de le faire. –

+0

Je viens de terminer. C'était une tâche sérieuse LOL. Mais il valait mieux que renommer plus de 300 contrôles individuellement quand c'était seulement une partie de chaque contrôle qui avait besoin de renommer. –

+0

@Ready Cent, pensez à accepter cette réponse. Juste un rappel. –

4

J'utilise VS 2010 RC 1, et ma machine avec VS 2008 est « down », donc je ne suis pas sûr que cette caractéristique particulière (édition en place des noms de contrôle) est en VS2008: mais cas, il est:

  1. ouvrir les vues de menu/Autres Windows: sélectionnez vue Structure du document

  2. modifier les noms de contrôle directement.

Il ressemble à la vue « Structure du document » a été autour depuis longtemps: Document Outline View, mais si les versions précédentes prennent en charge l'édition en place des noms de contrôle: Je ne sais pas.

+0

Ceci est l'une des fonctionnalités les plus utiles de VS2010 que j'ai vu depuis un moment. Merci! – SomethingBetter

1

Dans VS2010, allez dans Outils-> Options. Trouvez l'éditeur de texte-> HTML-> Divers dans la liste des options. Décochez la case en regard des éléments d'ID automatique pour coller dans la vue Source.

+0

Pas exactement pour Windows Forms, mais je cherchais aussi une solution ASPX. –