I would like to create a form where user select by placing a X or a check mark of the item to execute. Only one item should be selected. Thank you
Here is my code
Function Validate-Input-Fields {
$x = $objAns1.Text;$objForm.Close()
$y = $objAns2.Text;$objForm.Close()
Write-host $x, $y
}
# ----------------------------------------------------------------
# Create Custom Form for data entry
# ----------------------------------------------------------------
# Set properties for form
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$objForm = New-Object System.Windows.Forms.Form
$objForm.Text = "Business Object Request Menu"
$objForm.Size = New-Object System.Drawing.Size(500,700) # (Wide, Hight)
$objForm.StartPosition = "CenterScreen"
$objForm.BackColor = [System.Drawing.Color]::LightBlue # Background color, default White
$objForm.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::Fixed3D
$objForm.KeyPreview = $True
#Set Font Properties
$objWork = New-Object System.Drawing.Font("Times New Roman",12,[System.Drawing.FontStyle]::Regular)
$objForm.Font = $objWork
# Extract PowerShell icon and set as Form icon
$objWork = [system.drawing.icon]::ExtractAssociatedIcon($PSHOME + "\powershell.exe")
$objForm.Icon = $objWork
# Set Label Info
$objWork = New-Object System.Windows.Forms.Label
$objWork.Location = New-Object System.Drawing.Size(110,10)
$objWork.Size = New-Object System.Drawing.Size(280,20)
$ObjWork.Font = New-Object System.Drawing.Font("Book Antiqua",12,[System.Drawing.FontStyle]::Bold)
$objWork.Text = "Business Object Environment"
$objForm.Controls.Add($objWork)
$objWork = New-Object System.Windows.Forms.Label
$objWork.Location = New-Object System.Drawing.Size(180,30)
$objWork.Size = New-Object System.Drawing.Size(280,20)
$ObjWork.Font = New-Object System.Drawing.Font("Book Antiqua",12,[System.Drawing.FontStyle]::Bold)
$objWork.Text = "Menu Utility"
$objForm.Controls.Add($objWork)
# ==============================================================================================
# Server SRVHQRS51V Tasks
$objWork = New-Object System.Windows.Forms.Label
$objWork.Location = New-Object System.Drawing.Size(10,60)
$objWork.Size = New-Object System.Drawing.Size(280,20)
$ObjWork.Font = New-Object System.Drawing.Font("Book Antiqua",12,[System.Drawing.FontStyle]::Bold)
$objWork.Text = "Server SRVHQRS51V Tasks"
$objForm.Controls.Add($objWork)
# ====== Display Apache Tomcat Process ======
$objAns1 = New-Object System.Windows.Forms.Button
$objAns1.Location = New-Object System.Drawing.Size(30,80)
$objAns1.Size = New-Object System.Drawing.Size(30,18)
$ObjAns1.Cursor = [System.Windows.Forms.Cursors]::Hand
$ObjAns1.BackColor = [System.Drawing.Color]::White
$ObjAns1.Font = New-Object System.Drawing.Font("Book Antiqua",12,[System.Drawing.FontStyle]::Bold)
$objForm.Controls.Add($objAns1)
$objWork = New-Object System.Windows.Forms.Label
$objWork.Location = New-Object System.Drawing.Size(60,80)
$objWork.Size = New-Object System.Drawing.Size(280,20)
$objWork.Text = "Display Apache Tomcat Process"
$objForm.Controls.Add($objWork)
# ====== Start Apache Tomcat ======
$objAns2 = New-Object System.Windows.Forms.Button
$objAns2.Location = New-Object System.Drawing.Size(30,100)
$objAns2.Size = New-Object System.Drawing.Size(30,18)
$ObjAns2.Cursor = [System.Windows.Forms.Cursors]::Hand
$ObjAns2.BackColor = [System.Drawing.Color]::White
$ObjAns2.Font = New-Object System.Drawing.Font("Book Antiqua",12,[System.Drawing.FontStyle]::Bold)
$objForm.Controls.Add($objAns2)
$objWork = New-Object System.Windows.Forms.Label
$objWork.Location = New-Object System.Drawing.Size(60,100)
$objWork.Size = New-Object System.Drawing.Size(280,20)
$objWork.Text = "Start Apache Tomcat"
$objForm.Controls.Add($objWork)
# ====== Stop Apache Tomcat ======
$objAns3 = New-Object System.Windows.Forms.Button
$objAns3.Location = New-Object System.Drawing.Size(30,120)
$objAns3.Size = New-Object System.Drawing.Size(30,18)
$ObjAns3.Cursor = [System.Windows.Forms.Cursors]::Hand
$ObjAns3.BackColor = [System.Drawing.Color]::White
$ObjAns3.Font = New-Object System.Drawing.Font("Book Antiqua",12,[System.Drawing.FontStyle]::Bold)
$objForm.Controls.Add($objAns3)
$objWork = New-Object System.Windows.Forms.Label
$objWork.Location = New-Object System.Drawing.Size(60,120)
$objWork.Size = New-Object System.Drawing.Size(280,20)
$objWork.Text = "Stop Apache Tomcat"
$objForm.Controls.Add($objWork)
# ====== Create OK Buttons ======
$objWork = New-Object System.Windows.Forms.Button
$objWork.Location = New-Object System.Drawing.Size(150,600)
$objWork.Size = New-Object System.Drawing.Size(75,30)
$ObjWork.Cursor = [System.Windows.Forms.Cursors]::Hand
$ObjWork.BackColor = [System.Drawing.Color]::White
$objWork.Text = "OK"
$objWork.Add_Click({Validate-Input-Fields})
$objForm.Controls.Add($objWork)
# ====== Create Cancel Buttons ======
$objWork = New-Object System.Windows.Forms.Button
$objWork.Location = New-Object System.Drawing.Size(230,600)
$objWork.Size = New-Object System.Drawing.Size(80,30)
$ObjWork.Cursor = [System.Windows.Forms.Cursors]::Hand
$ObjWork.BackColor = [System.Drawing.Color]::White
$objWork.Text = "Cancel"
$objWork.Add_Click({$objForm.Close()})
$objForm.Controls.Add($objWork)
$objForm.Add_KeyDown( {
if ($_.KeyCode -eq "Enter") {
write-host $_
Validate-Input-Fields
$objForm.Close()
}
})
$objForm.Add_KeyDown( {
if ($_.KeyCode -eq "Escape") {
$objForm.Close()
}
})
$objForm.TopMost = $True
[void] $objForm.ShowDialog() # This will show the window
Learning PowerShell scripting