Quantcast
Channel: The Official Scripting Guys Forum! forum
Viewing all articles
Browse latest Browse all 15028

PowerShell Forms

$
0
0

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


Viewing all articles
Browse latest Browse all 15028

Trending Articles