Windows窗体设计器重命名复制/粘贴控制

问题描述:

我看到了类似的问题问及这里回答了ASP.net How do I prevent Visual Studio from renaming my controls?Windows窗体设计器重命名复制/粘贴控制

但我想避免这种情况,而使用C#在VS 2008中编写的Windows窗体应用程序。我想复制/粘贴一大堆控件,而不会将它们称为Checkbox1等。我宁愿手动重命名它们,因为它只是对名称进行了小改动。

您可以打开设计器代码文件并直接复制需要的位。

您需要复制声明(底部),实例化和任何BeginInit调用(InitializeComponent的顶部),属性(标注有注释),最后在底部复制EndInit调用。您还必须确保将所有控件添加到窗体/用户控件的控件集合中,也位于底部。

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

这是一个好主意。我开始思考这些问题 - 尤其是考虑到我将从这里找到并替换。感谢您有关如何做到这一点的细节。 –

+0

我刚刚完成。这是一个严重的任务LOL。但是它比单独重命名300多个控件要好,因为它只是每个控件的一部分,需要重命名。 –

+0

@Ready Cent,考虑接受这个答案。只是提醒。 –

我使用VS 2010 RC 1,和我的机器在VS 2008是“向下”,所以我不知道这个特殊的功能(就地控制名称的编辑)是在VS2008中:但在情况下,它是:直接控制的名字中选择文档大纲视图

  • 编辑:

    1. 打开菜单查看/其他窗口。

    它看起来像“文档大纲”视图已经存在了很长一段时间:以前的版本Document Outline View,但是否支持就地控制名称的编辑:我不知道。

  • +0

    这是我在一段时间看到的VS2010最有用的功能之一。谢谢! – SomethingBetter

    在VS2010中,进入工具 - >选项。在选项列表中找到文本编辑器 - > HTML->杂项。 取消选中源视图中粘贴自动ID元素旁边的复选框。

    +0

    不完全适用于Windows窗体,但我也在寻找ASPX解决方案。 –