FlowLayoutPanel のコントロールの順序を逆にしようとしています。
ControlCollection を配列に変換してから、それを逆にして ControlCollection をクリアしてから、コントロールを再読み込みしました。しかし、これは計画された効果を持っていないようです。
私が使用するコードは次のとおりです。
private static void ReverseLayout(Control control, bool suspend = true) {
if (suspend) control.SuspendLayout();
Control[] newCC = new Control[control.Controls.Count];
control.Controls.CopyTo(newCC, 0);
Array.Reverse(newCC);
control.Controls.Clear();
//control.Controls.AddRange(newCC);
for (int i = 0; i < newCC.Length; i++) {
newCC[i].Location = new System.Drawing.Point(); // maybe? no :\
newCC[i].TabIndex = i; // maybe? no :\
control.Controls.Add(newCC[i]);
}
if (suspend) control.ResumeLayout(false);
}