Aplikacje desktopowe

Ruszamy dalej

1. Typy aplikacji desktopowych

a) Aplikacje jednostanowiskowe

• Uruchamiane na jednym komputerze.
• Przechowują dane lokalnie (np. w plikach lub bazach danych SQLite).
• Przykład: Notatnik, Kalkulator.

b) Aplikacje klienckie

• Komunikują się z serwerem w celu pobrania lub wysłania danych.
• Przykład: Aplikacje księgowe, systemy rezerwacji.

c) Aplikacje hybrydowe

• Łączą funkcje aplikacji lokalnej z danymi pobieranymi z sieci.
• Przykład: Spotify (lokalne odtwarzanie, ale dostęp do treści z serwera).

d) Aplikacje wbudowane (Embedded)

• Tworzone do pracy w systemach wbudowanych, np. automatyka przemysłowa.


2. Layouty w aplikacjach Windows Forms

W WinForms nie ma zaawansowanego systemu layoutów jak w WPF, ale można zarządzać rozmieszczeniem kontrolek poprzez:

2.1. Ręczne ustawianie pozycji – domyślne podejście, w którym każda kontrolka ma ustaloną lokalizację (Location) i rozmiar (Size).

2.2. Docking i Anchoring – automatyczne dopasowanie kontrolek do rozmiaru okna.

2.3. Panele i kontenery – używanie kontrolek grupujących do lepszego zarządzania interfejsem.

a) Ręczne ustawianie pozycji (Fixed Layout)

• Kontrolki rozmieszczane są ręcznie w edytorze graficznym.
• Właściwość Location określa położenie (X, Y).
• Właściwość Size określa rozmiar (Width, Height).
• Podejście proste, ale nie skalowalne – aplikacja może wyglądać źle na ekranach o różnych rozdzielczościach.

b) Docking (dokowanie)

• Właściwość Dock pozwala przypiąć kontrolkę do:
• Top – góry okna,
• Bottom – dołu okna,
• Left – lewej strony,
• Right – prawej strony,
• Fill – wypełnienia całego dostępnego obszaru.

c) Anchoring (kotwiczenie)

• Właściwość Anchor określa, które krawędzie formularza mają pozostać „przyklejone” do kontrolki podczas zmiany rozmiaru okna.
• Możliwe wartości:
• Top (góra),
• Bottom (dół),
• Left (lewo),
• Right (prawo).

d) Panele i kontenery

  • Panel

• Służy do grupowania kontrolek.
• Można w nim umieścić inne kontrolki i zastosować Dock lub Anchor.

  • GroupBox

• Podobny do Panel, ale posiada tytuł.
• Używany do grupowania kontrolek, np. zestawu opcji (RadioButton).

  • TableLayoutPanel

• Tworzy układ siatki z wierszami i kolumnami.
• Można przypisywać kontrolki do określonych komórek.