Vraag voeg Usercontrol in FlowLayoutPanel in


ik heb een FlowLayoutPanel en verschillende UserControls. Nu wil ik dat één besturingselement altijd onderaan staat FlowLayoutPanel. Dus ik wil mijn UserControl net boven de laagste controll toevoegen. Is er een eenvoudige manier om gebruikersbesturingselementen in te voegen in een FlowLayoutPanel?

Ik ben op dit moment aan het nadenken over het verwijderen van het besturingselement onderaan en het toevoegen van het besturingselement dat ik wil toevoegen en voeg het onderste besturingselement opnieuw toe. Maar dit denk ik niet dat dit echt de beste manier is. Is hier iemand die me kan helpen met wat informatie over hoe dit te doen?


14
2017-11-07 08:16


oorsprong


antwoorden:


Ja, u kunt de Index van a Control OF User-Control in Flow-Layout Panel.

//flPanel is your flow-layout panel...
flPanel.Contorls.Add(ctrl1); //ctrl1 can be any control or user control
flPanel.Contorls.Add(ctrl2); //ctrl2 can be any control or user control
flPanel.Controls.SetChildIndex(ctrl1, flPanel.Controls.GetChildIndex(ctrl2) + 1);

Op deze manier zou uw ctrl1 onderaan staan, alhoewel het eerst aan uw werd toegevoegd Flow-Layout Panel.

Als je meer hebt Controls, en je wisselt zichtbaarheid in verschillende gebeurtenissen, dan zul je moeten instellen Index voor elk Control elke keer.

Ik stel voor om je te plaatsen Control in Panel en voeg toe Panel in uw Flow-Layout Panel.


11
2017-11-07 12:04



Dit heeft niets te maken met WinForms / WPF. U probeert een paneel te gebruiken voor vloeiende opmaak voor iets dat duidelijk niet bedoeld is om stroom te gebruiken.

U moet uw layoutpanelen dienovereenkomstig wijzigen. Probeer een flowlayout te gebruiken op de items waar u de flow nodig hebt en plaats dat paneel vervolgens in een ander paneel dat ook uw onderste paneel host.


0
2017-11-07 10:11