Можно ли переставить элементы управления в поточной панели во время выполнения? - PullRequest
2 голосов
/ 27 января 2012

, поэтому у меня есть панель управления и кнопка, которая добавляет списки в нее во время выполнения. у меня настроены события двойного щелчка - возможно ли настроить какое-либо событие щелчка (или щелчка и перетаскивания), чтобы изменить порядок элементов управления на панели потока?

Я знаю, что мы можем изменить стратегию сортировки (сверху вниз, слева направо) и перенести, но я надеялся, что для организации пользователь может просто перетащить элемент управления из одного места и переместить в другое место.

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 Ответ

3 голосов
/ 12 июля 2013

Это переместит элемент управления в верхнюю часть панели и переместит остальные элементы управления вниз.

            FlowLayoutPanel1.Controls.SetChildIndex(myControl, 0);

Для переупорядочения с помощью перетаскивания необходимо подключить события перетаскивания для каждого элемента управления. В случае сброса получите перетаскиваемый элемент управления и индексную позицию целевого элемента управления. Затем измените индекс с помощью SetChildIndex. Если вы все еще работаете над этой проблемой, я могу выкопать некоторый код, чтобы показать вам.

...