Wiem, że zadaję dużo pytań - dlatego wytrwałym dziękuję (myślę, że to już ostatnie) Myślę, że lepiej zapytać niż udawać, że coś się wie, albo siedzieć cicho i o nic nie pytać.
Wracając do tematu - załączam na początek obrazek problemu :
Pytanie 1.
Zastanawiam się nad stworzeniem Form, w którym po lewej stronie byłoby pole z niezmiennymi przyciskami, natomiast po prawej stronie zmieniałaby się treść w zależności od tego który przycisk z menu po lewej wybraliśmy - całość odbywałaby się właśnie na 1 formie.
Zakładam, że po prawej stronie będzie nie tylko treść tekstowa, ale także różne kontrolki (buttony, edittexty itp…).
I teraz pytanie - jak zrobić, aby ta treść (na tym samym formie) zmieniała się w zależności od tego co wybierzemy z menu po lewej.
Rozwiązanie na które wpadłem, to może by tak w jakiś sposób stworzyć grupy obiektów i je ukrywać i pokazywać w zależności od tego kto wybrał co z menu - ale po pierwsze jak zgrupować takie obiekty (czy służy do tego wyłącznie komponent panel - czy może jakoś inaczej) , a po drugie jak będę wsadzał te komponenty do form i układał w podobnych miejscach dla każdego z podmenu - to mi się wszystko zleje na “kupę” i nie będę widział np. tych pod spodem …
chyba, że jest gdzieś opcja w Visual Studio aby ukryć widok tych komponentów (a nie przesuwać jako bring i send to front), które wstawiłem - na czas układania innych (tylko tak abym je mógł później wyświetlić)…
Co radzicie - jak wykonać takie menu ze zmienną treścią w środku Form ?
Pytanie2:
Mam jeszcze takie małe nawiązanie do połączenia z bazą danych (MySQL).
Baza danych będzie relacyjna, zbudowana z kilku tabel i teraz zastanawiam się - czy pobierać wszystkie wartości z bazy danych (bo chcę je wyświetlić w programie) i zapisywać je do tablicy obiektów (stworzę jakąś klasę o polach takich samych jak w bazie danych), czy może zrobić strukturę i także tablicę do niej ?
A potem gdy będę chciał wyświetlić imię jakiejś osoby np. w labelu to wyciągnę z obiektu np. osoba[1].imie i wpisze je właśnie do tego labela ? Dobry pomysł - czy może też zrobić to inaczej ?
Jeżeli to coś zmieni - to chciałbym także te informacje zapisywać do pliku, tak aby program miał w zanadrzu bazę danych w przypadku braku połączenia z internetem (offline).