2012-11-07 12 views
14

Mam FlowLayoutPanel i kilka UserControl s. Teraz chcę, aby jeden kontroler był zawsze na dole mojego FlowLayoutPanel. Dlatego chcę dodać kontrolkę UserControl nieco powyżej najniższego kontrolera. Czy istnieje prosty sposób wstawienia elementów sterujących użytkownika w urządzeniu FlowLayoutPanel?wstaw UserControl w FlowLayoutPanel

Obecnie myślę o usunięciu kontroli u dołu i dodaniu kontrolki, którą chcę dodać, i dodaniu dolnego elementu sterującego ponownie. Ale nie sądzę, że to naprawdę najlepszy sposób. Czy jest tu ktoś, kto mógłby mi pomóc z pewnymi informacjami, jak to zrobić?

+1

Czy łatwo jest przełączyć się z WinForms na WPF, czy też muszę się dużo nauczyć, zanim to zrobisz? – 2Pietjuh2

+0

WPF jest dość łatwy do odbioru. W większości przypadków można go używać dokładnie w ten sam sposób, w jaki korzysta się z formularzy, a także korzystać z bardziej złożonych funkcji, jakie są wymagane. –

Odpowiedz

11

Tak, można ustawić Index z Control OR User-Control w .

//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); 

ten sposób swoją CTRL1 będzie na dole chociaż dodano najpierw do swojego Flow-Layout Panel.

Jeśli masz więcej Control s, a Ty decydujesz o ich widoczności w różnych wydarzeniach, będziesz musiał zawsze ustawić Index dla każdego .

Proponuję umieścić swoje Control w Panel i dodać Panel do Twojego Flow-Layout Panel.

0

Nie ma to nic wspólnego z WinForm/WPF. Próbujesz użyć panelu do przepływającego układu dla czegoś, co wyraźnie nie ma na celu użycia przepływu.

Należy odpowiednio zmienić panele układu. Spróbuj użyć flowlayout na elementach, w których potrzebujesz przepływu, a następnie umieść panel w innym panelu, który również obsługuje panel dolny.

+0

To drobnostka, co robię. Mam control użytkownika, który hostuje 'flowLayoutPanel' wewnątrz tego panelu ładuję inne formanty. Moje pytanie brzmi: Jak mogę dodać inne kontrolki w innym miejscu niż na dole? (Chcę, żeby umieścili jeden nad dolnym panelem kontrolnym :)) – 2Pietjuh2

+0

Powinieneś mieć panel, w którym flowLayoutPanel jest najbardziej zewnętrznym panelem, na tym panelu dodajesz swój flowLayoutPanel, a następnie dwa inne kontrolki. – helgeheldre