PowerShell GUI Basics
Posted on September 07, 2018
- and tagged as
- powershell
I recently had the need to write a very simple GUI app which would display some information. Digging into the world of creating GUIs with PowerShell I thought it would be a good idea to make some very simple code notes for future reference.
These are the absolute basics to get started.
Add-Type -assembly System.Windows.Forms
$Form = New-Object System.Windows.Forms.Form
$Form.Text = 'Title of the form window!'
$Form.Width = 1 # Settings this to 1 allows AutoSize to determine the minumum window size
$Form.Height = 1 # Settings this to 1 allows AutoSize to determine the minumum window size
$Form.AutoSize = $true
$Form.FormBorderStyle = 'Fixed3D' # The user cannot resize the GUI window
$Form.MaximizeBox = $false # The user cannot maximize the GUI window
$Form.TopMost = $true # The GUI window stays on top of other Windows
$Label = New-Object System.Windows.Forms.Label
$Label.Text = "Example label"
$Label.Font = 'Segoe UI, 20pt, style=Bold'
$label.TextAlign = "MiddleCenter"
$Label.AutoSize = $true
$Form.Controls.Add($Label)
$Form.ShowDialog() # This shows the GUI and starts an event loop inside the GUI.
The sapien.com blog has an excellent resource on the Label control.