2012-11-07 14 views
14

Ho un FlowLayoutPanel e diversi UserControl s. Ora voglio che un controller sia sempre nella parte inferiore del mio FlowLayoutPanel. Quindi voglio aggiungere il mio UserControl appena sopra il controller più basso. C'è un modo semplice per inserire i controlli utente in un FlowLayoutPanel?inserire Usercontrol in FlowLayoutPanel

Attualmente sto pensando di rimuovere il controllo in basso e aggiungere il controllo che voglio aggiungere e aggiungere di nuovo il controllo in basso. Ma questo non penso che questo sia davvero il modo migliore. C'è qualcuno qui che potrebbe aiutarmi con alcune informazioni su come fare questo?

+1

È facile passare da WinForms a WPF o devo imparare molto prima di poterlo fare? – 2Pietjuh2

+0

WPF è abbastanza facile da raccogliere. Per la maggior parte puoi usarlo esattamente nello stesso modo in cui usi Forms e prendi parte ad alcune delle sue funzionalità più complesse quando ne hai bisogno. –

risposta

11

Sì, è possibile impostare Index di Control o 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); 

questo modo, il Ctrl1 sarebbe, in fondo, anche se è stato aggiunto prima nella vostra Flow-Layout Panel.

Se si dispone di più Control s e si modifica la visibilità in diversi eventi, sarà necessario impostare Index per ogni Control ogni volta.

Suggerisco di inserire il numero Control in Panel e aggiungere Panel nel numero Flow-Layout Panel.

0

Questo non ha nulla a che fare con WinForms/WPF. Si sta tentando di utilizzare un pannello per il layout scorrevole per qualcosa che non è chiaramente destinato a utilizzare il flusso.

È necessario modificare di conseguenza i pannelli di layout. Prova a usare un flowlayout sugli oggetti in cui hai bisogno del flusso, quindi posizionalo all'interno di un altro pannello che ospita anche il pannello inferiore.

+0

Questo è insignificante. Ho un usercontrol che ospita un 'flowLayoutPanel' all'interno di quel pannello carico altri controlli. La mia domanda è: come posso aggiungere altri controlli su un posto diverso rispetto al fondo? (Voglio che siano posizionati uno sopra il controllo inferiore :)) – 2Pietjuh2

+0

Si dovrebbe avere un pannello isent flowLayoutPanel come il pannello più esterno, su quel pannello si aggiunge il flowLayoutPanel e poi i tuoi altri due controlli. – helgeheldre