所以我有一个流程面板和一个在运行时向其添加列表视图的按钮。我设置了双击事件 - 是否可以设置某种点击(或点击并拖动)事件来重新排列流程面板中的控件?
我知道我们可以更改排序策略(自上而下,左上角)和换行,但我希望组织用户可以简单地从一个位置拖动控件并重新定位到其他位置。
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);
}
答案 0 :(得分:3)
这会将控件移动到面板顶部并向下移动其余控件。
FlowLayoutPanel1.Controls.SetChildIndex(myControl, 0);
对于拖放重新排序,您必须为每个控件挂接拖放事件。在drop事件中,获取拖动的控件和目标控件的索引位置。然后使用SetChildIndex更改索引。如果你还在解决这个问题,我可以挖掘一些代码来向你展示。