Windows表单设计器重命名复制/粘贴控件

时间:2010-03-18 19:38:29

标签: c# windows visual-studio forms

我在这里看到了一个类似的问题并回答了ASP.net How do I prevent Visual Studio from renaming my controls?

但我试图在使用c#在VS 2008中编写Windows窗体应用程序时阻止这种情况。我想要复制/粘贴大量的控件,而不要将它们称为Checkbox1等。我宁愿手动重命名它们,因为它只是对名称的一个小改动。

3 个答案:

答案 0 :(得分:4)

我正在使用VS 2010 RC 1,而我的VS 2008机器已“关闭”,因此我不确定这个特殊功能(控制名称的就地编辑)是否在VS2008中:但是如果它是:

  1. 打开菜单Views / Other Windows:选择Document Outline视图

  2. 直接编辑控件名称。

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

答案 1 :(得分:2)

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

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

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;

答案 2 :(得分:1)

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