Le but du script Powershell qui va suivre est de créer une Windows Form telle que celle illustrée ci-dessous :
# Chargement des Windows Form
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
#################################################
# CONFIGURATION DE LA WINDOWS FORM
#################################################
# Creation de la form principale
$form = New-Object Windows.Forms.Form
# Pour bloquer le resize du form et supprimer les icones Minimize and Maximize
$form.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::FixedDialog
$form.MaximizeBox = $False
$form.MinimizeBox = $False
# Choix du titre
$form.Text = "Quel âge avez-vous ?"
# Choix de la taille
$form.Size = New-Object System.Drawing.Size(400,370)
#Choix de la police, de sa taille et de son style (Bold, Italic, etc...)
$Font = New-Object System.Drawing.Font("Times New Roman",24,[System.Drawing.FontStyle]::Bold)
$form.Font = $Font
#################################################
# AJOUT DES COMPOSANTS
#################################################
# Bouton Valider
$button_valid = New-Object System.Windows.Forms.Button
$button_valid.Text = "Valider"
$button_valid.Size = New-Object System.Drawing.Size(200,50)
$button_valid.Location = New-Object System.Drawing.Size(20,220)
# Bouton Quitter
$button_quit = New-Object System.Windows.Forms.Button
$button_quit.Text = "Fermer"
$button_quit.Size = New-Object System.Drawing.Size(200,50)
$button_quit.Location = New-Object System.Drawing.Size(20,280)
# Label 1
$label1 = New-Object System.Windows.Forms.Label
$label1.AutoSize = $true
$label1.Location = New-Object System.Drawing.Point(20,20)
$label1.Size = New-Object System.Drawing.Size(100,50)
$label1.Text = "Quel âge avez-vous ?"
# TextBox
$age = New-Object System.Windows.Forms.TextBox
$age.AutoSize = $true
$age.Location = New-Object System.Drawing.Point(20,80)
$age.Name = 'textbox_sw'
$age.Size = New-Object System.Drawing.Size(75,20)
$age.Text = ""
#################################################
# GESTION DES EVENEMENTS
#################################################
# Gestion event quand on clique sur le bouton Fermer
$button_quit.Add_Click(
{
$form.Close();
})
# Gestion event quand on clique sur le bouton Valider
$button_valid.Add_Click(
{
$age_saisi = $age.Text
$form2 = New-Object Windows.Forms.Form
$form2.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::FixedDialog
$form2.MaximizeBox = $False
$form2.MinimizeBox = $False
$form2.Text = "Résultat"
$form2.Size = New-Object System.Drawing.Size(180,100)
$Font = New-Object System.Drawing.Font("Times New Roman",12,[System.Drawing.FontStyle]::Bold)
$form2.Font = $Font
$label_result = New-Object System.Windows.Forms.Label
$label_result.AutoSize = $true
$label_result.Location = New-Object System.Drawing.Point(10,20)
$label_result.Name = 'label_password'
$label_result.Size = New-Object System.Drawing.Size(20,60)
$label_result.Forecolor = $color
$label_result.Text = "Vous avez $age_saisi an(s) !!!"
$form2.Controls.Add($label_result)
$form2.ShowDialog()
})
#################################################
# INSERTION DES COMPOSANTS
#################################################
# Ajout des composants a la Form
$form.Controls.Add($label1)
$form.Controls.Add($age)
$form.Controls.Add($button_valid)
$form.Controls.Add($button_quit)
# Affichage de la Windows
$form.ShowDialog()
#################################################
# END OF PROGRAM
#################################################