Skip to main content

Form

Namespace: System.Windows.Forms

    Properties / EigenschaftenBasis-
      Property – Standardwert
      Beschreibung oder Erläuterung der Eigenschaft

        AutoScaleMode – Font
        Skalierung basierend auf Schriftgröße

        AutoSize – $false
        Passt die Form automatisch an den Inhalt an

        BackColor – Control
        Hintergrundfarbe

        ClientSize – (300,300)
        Innenbereich der Form (ohne Rahmen)

        ControlBox – $true
        Zeigt Schließen / Minimieren / Maximieren

        ForeColor – ControlText
        Standard-Textfarbe

        FormBorderStyle – Sizable
        Fensterrahmen (None, FixedSingle, Sizable, …)

        Icon – $null
        Fenster-Icon ([Icon]::new("App.ico"))

        KeyPreview – $false
        Form bekommt Key-Events vor Controls

        MaximizeBox – $true
        Maximieren erlauben

        MaximumSize – (0,0)
        Maximalgröße (0 = unbegrenzt)

        MinimumSize – (0,0)
        Minimale Größe

        Opacity – 1.0
        Transparenz (0.0 – 1.0)

        Padding – (0)
        Innenabstand

        StartPosition – WindowsDefaultLocation
        Startposition des Fensters

        ShowIcon – $true
        Icon anzeigen

        ShowInTaskbar – $true
        In Taskleiste sichtbar

        Size – (300,300)
        Fenstergröße

        Text – ""
        Fenstertitel

        TopMost – $false
        Immer im Vordergrund

        WindowState – Normal
        (Normal, Minimized, Maximized)


        Eigenschaften, die sich gegenseitig beeinflussen

          AutoSize = $true → ignoriert Size

          Dock = "Fill" → ignoriert AutoSize

          Dock = "Top" / "Bottom" → Width wird ignoriert

          Dock = "Left" / "Right" → Height wird ignoriert

          FormBorderStyle = "None" → keine ControlBox, kein Icon sichtbar

          Eine Form ist das Hauptfenster deiner Anwendung.
          Sie ist der Container für alle anderen Controls.


          Grundidee

          Die Form ist die Bühne.

            enthält alle Controls verwaltet Layout und Lebenszyklus steuert Anzeige (Show / ShowDialog)

            Typischer Ablauf

              Properties setzen Controls hinzufügen Events belegendefinieren Form anzeigen (Show() / mappen ShowDialog())
              erbt von

              Form Controls

              erstellen
              # Klassisch
              $form Properties= StandardwertNew-Object BeschreibungSystem.Windows.Forms.Form
              
              # .NET-Style
              $form = AutoScaleMode
              "Font"
              
              AutoSize $false
              BackColor Control
              ClientSize 300,300 Innenoberfläche ControlBox $true Steuert, ob X (Schließen), _ (Minimieren) oder Maximieren angezeigt wird ForeColor ControlText
              FormBorderStyle "Sizable"
              Icon $null [Icon]System.Windows.Forms.Form]::new(App.ico))

              Form anzeigen

              KeyPreview# Nicht blockierend
              $form.Show()
              
              # Modal (blockierend)
              $form.ShowDialog()
              

              Controls hinzufügen

              $falseform.Controls.Add($button)
              $form.Controls.AddRange(@($label, $textbox))
              


              Layout & MaximizeBoxVerhalten

              $true
              form.Size
              = [System.Drawing.Size]::new(400, 300) MaximumSize$form.StartPosition 0,0= "CenterScreen"

              Maximalgröße

              $form.TopMost

              0= bedeutet unbegrenzt

              MinimumSize 0,0 Verhindert zu kleines Resize Opacity 1.0 Geht von 0.0 bis 1.0 Padding 0,0,0,0
              StartPosition "WindowsDefaultLocation"
              ShowIcon $true
              ShowInTaskbar $true
              Size 300,300 Fenstergröße Text   Fenstertitel / Überschrift TopMost $false Fenster bleibt im Vordergrund WindowState Normal Weitere Möglichkeiten: Minimized, Maximized
              wenn aktiv wird ignoriert / nicht sichtbar form.FormBorderStyle = "None"FixedDialog"

               


              Events - Form

              MaximizeBox$form.Add_*
                param($sender, $e)
              ,

                $sender → die Form selbst

                $e → EventArgs


                Load

                Wird beim Initialisieren der Form ausgelöst

                $form.Add_Load({
                    Write-Host "Form lädt"
                })
                

                Shown

                Wird nach dem Anzeigen ausgelöst

                $form.Add_Shown({
                    Write-Host "Form sichtbar"
                })
                

                FormClosing

                Vor dem Schließen (kann verhindert werden)

                $form.Add_FormClosing({
                    param($sender, $e)
                
                    $e.Cancel = $true  # verhindert Schließen
                })
                

                FormClosed

                Nach dem Schließen

                $form.Add_FormClosed({
                    Write-Host "Form geschlossen"
                })
                

                Resize

                Bei Größenänderung

                $form.Add_Resize({
                    Write-Host "Neue Größe: $($this.Size)"
                })
                

                Tipps & Tricks - Form


                Typische Stolperfallen

                  Form schließt sofort
                  → kein ShowIconShowDialog()

                  verwendet

                  Layout bricht auseinander
                  Dock / Anchor falsch gesetzt

                  Größe ignoriert
                  AutoSize aktiv

                  Fenster reagiert nicht auf Keys
                  KeyPreview = $true

                  fehlt

                  Mentales Modell

                  Die SizeForm

                  ist der DockLebenszyklus-Controller deiner UI. Dock

                  Sie =bestimmt:

                  "Fill"
                  AutoSize

                  wann

                  etwas Docksichtbar =ist "Top" / "Bottom"

                  wann

                  Widthetwas endet Dock =

                  wie "Left"alles /organisiert "Right"

                  ist Heigth

                  Wann sinnvoll?

                    Immer (jede WinForms-App braucht mindestens eine Form)


                    Wann problematisch?

                      Zu viel Logik direkt in der Form

                      Vermischung von UI und Business-Logik