Public Sub FlowLayoutPanelControlInsert(ByVal Flow As FlowLayoutPanel, ByVal Control As Control, ByVal newIndex As Integer) Dim conts As New List(Of Control)
'挿入Indexの位置調整はみ出し防止 If newIndex <= 0 Then newIndex = 0 End If If Flow.Controls.Count <= newIndex Then newIndex = Flow.Controls.Count '最終行に追加したい場合は 'newIndexをFlow.Controls.Countで指定してもらう End If
Flow.SuspendLayout()
If Flow.Controls.IndexOf(Control) = -1 Then Flow.Controls.Add(Control) End If Flow.Controls.SetChildIndex(Control, newIndex)
Flow.ResumeLayout() End Sub このように書くとうまくいきますね。 このテクニックのやり方のようにせずとも SetChildIndexで、コントロールの順番移動はできますよ。
管理人 2009/08/29 (Sat) 01:17:31
かなり前にも指摘されていましたが、放置してしまい、申し訳ありませんでした。直しておきます。