This particular powershell code does not work for me, I'm wondering what I'm doing wrong here (I am in the process of learning Powershell - I am quite new to it)
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$main_form = New-Object System.Windows.Forms.Form
$main_form.Text = "Testing"
$main_form.Width = 500
$main_form.height = 300
$main_form.FormBorderStyle = "FixedDialog"
$main_form.AutoSize = $true
$main_form.MaximizeBox = $false
$main_form.MinimizeBox = $false
#
$SetCheckBox = New-Object System.Windows.Forms.Checkbox
$SetCheckBox.Location = New-Object System.Drawing.Point(10,10)
$SetCheckBox.Size = New-Object System.Drawing.Size(60,20)
$SetCheckBox.Text = "Set"
$main_form.Controls.Add($SetCheckBox)
if($SetCheckBox.Checked -eq $true){
$SetButton = New-Object System.Windows.Forms.Button
$SetButton.Location = New-Object System.Drawing.Point(280,200)
$SetButton.Size = New-Object System.Drawing.Size(100,20)
$SetButton.Text = "Nothing Selected"
$SetButton.AutoSize = $true
$main_form.Controls.Add($SetButton)
}else{
}
$RefreshButton = New-Object System.Windows.Forms.Button
$RefreshButton.Location = New-Object System.Drawing.Point(400,285)
$RefreshButton.Size = New-Object System.Drawing.Size(100,20)
$RefreshButton.Text = "Refresh"
$RefreshButton.AutoSize = $true
$main_form.Controls.Add($RefreshButton)
$RefreshButton.Add_Click({
$main_form.Refresh()
})
#
$main_form.Topmost = $true
$main_form.ShowDialog()
I expect it to add a button to my form when "$SetCheckBox.Checked" equals to $true", but nothing happens. No error code or anything. Maybe this isn't how Powershell works?
ifcondition is satisfied, you have to do a$main_form.refresh()for the form changes to be reflected on your screen.