これは、コピーしたコントロールのzインデックスに依存します。あなたがInitializeComponent()
でフォームにVSのデザイナーとの2つの新しいラベルを追加した場合 は、このコードになります:
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
コピーして貼り付けた場合、それはになります:
LABEL3がある
this.Controls.Add(this.label3);
this.Controls.Add(this.label4);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
label2とlabel4のコピーはlabel1のコピーです。あなたは、ラベルのzインデックスを修正した場合
ことになるだろう(デザイナーでそれらを右クリックして、使用「フロントに持参」/「後ろに送る」):
this.Controls.Add(this.label1);
this.Controls.Add(this.label2);
を今、あなたがコピーして貼り付けるときに取得します:LABEL3はLABEL1とLabel4からのコピーである
this.Controls.Add(this.label3);
this.Controls.Add(this.label4);
this.Controls.Add(this.label1);
this.Controls.Add(this.label2);
がLABEL2のコピーです。
ところで、これはこれは単なる推測ですが、それはあなたがそれらを選択した順序に依存してもよいVS2010、VS2012とVS2015
ですべて同じ動作をします。つまり、あなたはデフォルトからすべてのコントロールの名前を変更する必要があるため、問題ではありません。 'Label1'、' Label2'などの名前のコントロールを持つフォームは悪いフォームです。 – jmcilhinney
私がそれらを選択した順序は、動作に影響を与えません。これらの要素の多くが存在し、数字を増やすデフォルトの名前は、私が計画したプログラミングロジックの目的を十分に果たすでしょう。しかし、私は、これを回避する方法がない場合、各要素の名前を手動で変更する必要があると思います。私は既にUpdate 5を適用しようとしましたが、これはそれに対処するかもしれないと考えていますが、そうではありません – user6944792