在 Panel 容器中,多個子 Panel 皆設 Dock = Left,如何通過 Z-Order(層級)控制它們的左右顯示順序?
Dock = Left:控制項依次靠左停靠,**後加入集合(或 Z-Order 較高)的控制項會佔據更左側位置**。panel.Controls.SetChildIndex(child, newIndex),newIndex = 0 代表最上層(最左)。// 假設 container 是父 Panel,child1~3 已加入
// 期望左到右順序:child1, child2, child3
// 需讓 child3 最先停靠(最右),child1 最後停靠(最左)
container.Controls.Add(child3); // 最右
container.Controls.Add(child2); // 中間
container.Controls.Add(child1); // 最左
// 或動態調整
container.Controls.SetChildIndex(child1, 0); // 移到最上層 → 最左
container.Controls.SetChildIndex(child2, 1);
container.Controls.SetChildIndex(child3, 2);
BringToFront() / SendToBack() 能改變 Dock 順序——它們只影響重疊時的遮擋,**不改變 Dock 佈局順序**。SetChildIndex。Dock=Left 時,Z-Order 高者居左。用 Controls.SetChildIndex(child, 0) 置頂即可將該 Panel 移至最左側。設計器用 Document Outline 拖拽最直觀。