---------------------
A
---------------------
C
---------------------
B
----------------------
問題來了,現在我想添加D控件在A及C中間怎麼辦?嘗試了不少辦法都不行,一般都會覆蓋掉C控件的,也就是最後添加的控件。
在網上查找,很多人都提出一種無奈的解決方案,那就是重新來過,將控件再次添加到窗口form中,雖然可以解決Dock佈局帶來的困擾,但帶來的是工作量的倍增同時很難調整到跟之前的佈局一模一樣 。
想來這都不是解決的辦法,添加添加,我一直想,對了先添加的控件具有Dock的優先排序權,應該可以從Designer文件中着手啊。
找到以下代碼:
this.Controls.Add(this.C);
this.Controls.Add(this.B);
this.Controls.Add(this.A);
將代碼的順序調整爲:
this.Controls.Add(this.D);
this.Controls.Add(this.B);
this.Controls.Add(this.A);
問題即解決了。
由此可見,在Desinger文件中是以後添加的控件爲優先權高來Dock排序,即A控件的排序優先權最高(下面的控件優先高)。