UserControl

Dzisiaj pokażę wam jak używać UserControl („kontrolka użytkownika”) jest to bardzo przydatna forma która na pewno nieraz pomoże wam w waszych projektach a która może być dla początkujących programistów pomijana i uważana za zbędną. Pomaga ona w organizacji naszego kodu i jego czytelności a ponadto tego samego userControlera możemy użyć w innych formach podobnie jak funkcji i metod z klas. Zaczynamy jak zwykle od utworzenia nowej formy. Dodajemy do naszej formy SplitContainer:

uc1Pojawią się dwa panele. W pierwszym będziemy trzymać przyciski a w drugim wyświetlać nasze kontrolery.

uc2uc3

Ja to zrobiłem tak. W lewym panelu dodałem kilka przycisków a na dole dodałem mały panel któremu dock ustawiłem na bottom, left, right, w tym panelu będzie można wyświetlić kontroler w którym będzie albo godzina albo data. Teraz gdy mamy formę stworzoną musimy dodać jakieś userControl. Znajdują się one w zakładce „Project” i po dodaniu wyglądają trochę łyso.

uc4uc5

Należy teraz je czymś wypełnić, tutaj zostawiam wam swobodę w działaniu. ja dodałem 8 userControl. Kiedy nasze kontrole będą już wypełnione należy do przycisków dopisać kod który je nam wyświetli. Wygląda on tak:

gdzie „tempObject” będzie naszą userControl a „SplitContainer1.Panel2” miejscem w którym chcemy wyświetlić kontrole. UserControl najlepiej wyświetlać na Panelach ponieważ są one łatwo edytowalne i nie sprawiają zanadto problemów. Dlatego jeśli chcemy wyświetlić UserControl na panelu będzie to wtedy wyglądało tak:

Teraz nasze UserControl powinny się otwierać w wybranych panelach. Zauważycie na pewno jeden większy problem który będzie występować. Nasz UserControl, jego forma po otworzeniu  nie będzie się rozciągała, a jej elementy będą statyczne nawet gdy rozciągniemy naszą formę rodzimą jej elementy pozostaną na miejscu. Rozwiążemy to dodając do kodu UserControl następującą formułę:

Dzięki temu możemy wyśrodkować, wypełnić nasz panel i dodatkowo kiedy rozciągniemy formę elementy z userControl podążą w ustalonym kierunku. Tak to wyglądało przed i po dodaniu kodu:

uc6uc8

Jak widzimy po lewej stronie obrazek jest statycznie wyświetlony na tle i możecie mi wierzyć na słowo nie przesuną się po rozciągnięciu formy, obrazek po prawej stronie wyśrodkował się na starcie i przesuwał się po rozciągnięciu formy.

Gotowy przykład który dla was przygotowałem można pobrać tutaj: UserControl

Jeśli będziecie mieli jakieś pytania albo sugestie jak można ulepszyć kod albo na jakie trudności natrafiliście można do mnie napisać maila albo zostawić komentarz.

Permalink do tego artykułu: https://visualmonsters.cba.pl/usercontrol/

Dodaj komentarz

Twój adres email nie będzie publikowany.