用代碼循環給Panel中添加多個控件實例,並且設置Dock屬性後,子控件的排序是後添加的在最上面,這是因爲Winfrom機制是最新添加的控件會排在最前面,而不是最後面。
但是需求是先添加的要放在最上面,爲了實現這個需求 --可以把需要的控件反向添加來解決這個問題,但是不是最好的解決方案。
最好的解決方案是每次添加了控件之後設置一下ChildIndex, 每次都設置爲0。這樣後添加的控件就在下面了,而不是最前面了。
代碼如下:
pnlTask.Controls.Add(taskUc); //設置控件添加的順序爲從上至下 pnlTask.Controls.SetChildIndex(taskUc,0);