我正在使用Visual Studio 2012中的表单。有多个标签从Label1
到Label10
垂直排列。我需要在第一组标签旁边复制这些标签,以便我在第一组旁边有Label11
到Label20
。但是,当我复制/粘贴表单元素时,它们会以相反的顺序垂直粘贴,即Label20
前面的Label1
和Label19
前面的Label2
,我不会#39} ;当我粘贴表单元素时,我想让序列反转。
我记得当我在VS2015上试用它时工作正常,但现在我在VS2012上工作并且它没有按预期工作。根据Google搜索结果,这似乎不是一个常见问题。
答案 0 :(得分:0)
这取决于复制的控件的z-Index。
如果您使用VS设计器向InitializeComponent()
中的表单添加2个新标签,则为以下代码:
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
如果您复制并粘贴它们,将导致:
this.Controls.Add(this.label3);
this.Controls.Add(this.label4);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
其中label3是label2的副本,label4是label1的副本。
如果您修复了标签的z-Index(在设计器中右键单击它们并使用'置于前面' /'发送回来')它将变为:
this.Controls.Add(this.label1);
this.Controls.Add(this.label2);
现在,当您复制并粘贴它们时,您将获得:
this.Controls.Add(this.label3);
this.Controls.Add(this.label4);
this.Controls.Add(this.label1);
this.Controls.Add(this.label2);
其中label3是label1的副本,label4是label2的副本。
顺便说一句,这在VS2010,VS2012和VS2015
中的表现完全相同