2012-01-27 11 views
1

私はフローパネルと実行時にそれにlistviewsを追加するボタンがあります。私はダブルクリックイベントを設定しました - 何らかのクリック(またはクリック&ドラッグ)イベントを設定して、フローパネルのコントロールを再配置することは可能ですか?実行時にフローパネルのコントロールを再配置することは可能ですか?

私はソート戦略(上から下、左の右)とラップを変更することができますが、ユーザーが組織を1つのスポットからドラッグして別の場所に移すことができることを期待していました。

private void addNewWOButton_Click(object sender, EventArgs e) 
     { 
      ListView newListView = new ListView(); 
      newListView.AllowDrop = true; 
      newListView.DragDrop += listView_DragDrop; 
      newListView.DragEnter += listView_DragEnter; 
      newListView.DoubleClick += listView_DoubleClick; 

      flowPanel.Controls.Add(newListView); 
} 
+1

「フローパネル」とは、実際には「FlowLayoutPanel」コントロールですか? –

+1

[フローレイアウトパネル内のコントロールの並び替え]の可能な複製(http://stackoverflow.com/questions/425867/reordering-of-controls-within-a-flow-layout-panel)?参照:http://www.codeproject.com/Articles/48411/Using-the-FlowLayoutPanel-and-Reordering-with-Drag –

答えて

2

これは、コントロールをパネルの上部に移動し、残りのコントロールを下に移動します。

  FlowLayoutPanel1.Controls.SetChildIndex(myControl, 0); 

ドラッグアンドドロップの並べ替えを行うには、各コントロールのドラッグアンドドロップイベントをフックアップする必要があります。ドロップイベントで、コントロールをドラッグし、ターゲットコントロールのインデックス位置を取得します。 SetChildIndexでインデックスを変更します。あなたがまだこの問題に取り組んでいるなら、私はあなたに見せるためにいくつかのコードを掘り下げることができます。