2016-01-04 8 views
5

OK, to doprowadza mnie do szału. Czas zapytać tłum:Ukrywanie panelu powinno wymusić na kontrole poniżej, aby przejść do góry i zmienić rozmiar formularza.

Mam formularz, który składa się z: dwóch pionowych "połówek" utworzonych przez SplitContainer. Wewnątrz dolnej „pół” panelu/SplitContainer ... mam:

  1. zestaw pól/kontroli dla użytkownika, aby wypełnić, zawartych w panelu.

  2. Poniżej panel zawierający przyciski "prześlij", "anuluj" ... i jedno "pokaż/ukryj". To "pokaż/ukryj" ma na celu pokazać/ukryć panel, który właśnie opisałem w punkcie 1 powyżej.

Co chcę się zdarzyć, to: gdy użytkownik kliknie „ukryć” panel kontroli, nie te kontrole znikną tylko, ale również:

  • Panel zawierający złożyć, anulować a przyciski pokaż/ukryj przesuwają się w górę (tak, że nie mamy tego dużego pustego miejsca, w którym kiedyś był ukryty panel).
  • Formularz zmienia się w pionie, aby nadrobić ukryty panel, a także przesunąć dolne elementy sterujące w górę.

Nie mam problemu z wyświetleniem/ukrycie panelu kontrolek/pól. Ale nie potrafię wymyślić, jak wykonać dwa pozostałe zadania. Próbowałem różnych kombinacji opcji AutoSize, AutoSizeMode i Dock.

Wszelkie sugestie?

+0

Zaczynasz od niektórych zdjęć i kodu? – KDecker

+0

Moje sugestie: dołącz 2 zrzuty ekranu - przed i po "ukryj"; uwzględnij odpowiedni kod projektanta – ASh

Odpowiedz

6

Jeśli umieścisz wszystkie elementy sterujące w FlowLayoutPanel, gdzie dzieci są ułożone w pionie, to ukrycie niektórych elementów sterujących powinno spowodować przesunięcie "dolnych" elementów sterujących w górę strony.

Być może nadal będziesz potrzebować napisać kod, aby zmienić rozmiar samego formularza, gdy zawartość opcjonalna została ukryta lub zanim zostanie wyświetlona.

+0

Tak, możesz ustawić rozmiar formularza na rozmiar panelu, który chcesz, oraz wysokość panelu przesłania/anulowania/pokazu/ukrywania. –

+0

To wydaje się działać pięknie! Dziękuję Ci! – DaveyBoy

Powiązane problemy