PowerShell 【GUI編】
目次
フォーム
Form画面を作成する処理について解説します。
プログラムソース
ps1
using namespace System.Windows.Forms Add-Type -AssemblyName System.Windows.Forms $Form1 = New-Object Form $Form1.Size = "400, 250" $Form1.Text = "ざっくりわかるプログラミング講座" $Form1.ShowDialog()
bat
powershell -WindowStyle Hidden ^
-ExecutionPolicy Bypass PS1ファイル.ps1
解説
using namespace 名前空間
名前空間の指定を省略可能にします。
Add-Type –AssemblyName クラス名
.NET Frameworkクラスを定義します。
New-Object Form
フォームを生成します。
powershell –WindowsStyle Hidden
PowerShellウィンドウを非表示にします。
powershell –ExecutionPolicy Bypass PA1ファイル
セキュリティ警告なしで実行します。
ラベル
フォームにラベルを追加する処理について解説します。
プログラムソース
using namespace System.Windows.Forms Add-Type -AssemblyName System.Windows.Forms $Form1 = New-Object Form $Form1.Size = "400, 250" $Label1 = New-Object Label $Label1.Text = "ラベル" $Label1.Location = "10, 10" $Label1.Size = "50, 20" $Form1.Controls.Add($Label1) $Form1.ShowDialog()
解説
New-Object Label
ラベルを生成します。
テキストボックス
フォームにテキストボックスを追加する処理について解説します。
プログラムソース
using namespace System.Windows.Forms Add-Type -AssemblyName System.Windows.Forms $Form1 = New-Object Form $Form1.Size = "400, 250" $Text1 = New-Object TextBox $Text1.Location = "10, 10" $Text1.Size = "100, 20" $Form1.Controls.Add($Text1) $Form1.ShowDialog()
解説
New-Object TextBox
テキストボックスを生成します。
ボタン
フォームにボタンを追加する処理について解説します。
プログラムソース
using namespace System.Windows.Forms
Add-Type -AssemblyName System.Windows.Forms
function Button1_Click(){
[MessageBox]::Show("メッセージ")
}
$Form1 = New-Object Form
$Form1.Size = "400, 250“
$Button1 = New-Object Button
$Button1.Text = "ボタン"
$Button1.SetBounds(10, 10, 50, 20)
$Button1.Add_Click({Button1_Click})
$Form1.Controls.Add($Button1)
$Form1.ShowDialog()
解説
New-Object Button
ボタンを生成します。
ボタン.SetBounds(X座標,Y座標,幅,高さ)
指定した位置とサイズに設定します。
ボタン.Add_Click({ 関数名 })
クリックイベントに関数を指定します。
チェックボックス
フォームにチェックボックスを追加する処理について解説します。
プログラムソース
using namespace System.Windows.Forms
Add-Type -AssemblyName System.Windows.Forms
function Check_Click(){
$Form1.Text = "1:"+$Check1.Checked+ `
"2:"+$Check2.Checked
}
$Form1 = New-Object Form
$Form1.Size = "400, 250"
$Check1 = New-Object CheckBox
$Check1.Text = "チェック1"
$Check1.SetBounds(10, 10, 100, 20)
$Check1.Add_Click({Check_Click})
$Form1.Controls.Add($Check1)
$Check2 = New-Object CheckBox
$Check2.Text = "チェック2"
$Check2.SetBounds(110, 10, 100, 20)
$Check2.Add_Click({Check_Click})
$Form1.Controls.Add($Check2)
$Form1.ShowDialog()
解説
New-Object CheckBox
チェックボックスを生成します。
チェックボックス.Add_Click({ 関数名 })
クリックイベントに関数を指定します。
ラジオボタン
フォームにラジオボタンを追加する処理について解説します。
プログラムソース
using namespace System.Windows.Forms
Add-Type -AssemblyName System.Windows.Forms
function Radio_Click(){
If($Radio1.Checked -eq "true")
{$Form1.Text="ラジオ1"} else {$Form1.Text="ラジオ2"}
}
$Form1 = New-Object Form
$Form1.Size = "400, 250"
$Radio1 = New-Object RadioButton
$Radio1.Text = "ラジオ1"
$Radio1.SetBounds(10, 10, 100, 20)
$Radio1.Add_Click({Radio_Click})
$Form1.Controls.Add($Radio1)
$Radio2 = New-Object RadioButton
$Radio2.Text = "ラジオ2"
$Radio2.SetBounds(110, 10, 100, 20)
$Radio2.Add_Click({Radio_Click})
$Form1.Controls.Add($Radio2)
$Form1.ShowDialog()
解説
New-Object RadioButton
ラジオボタンを生成します。
ラジオボタン.Add_Click({ 関数名 })
クリックイベントに関数を指定します。
コンボボックス
フォームにコンボボックスを追加する処理について解説します。
プログラムソース
using namespace System.Windows.Forms
Add-Type -AssemblyName System.Windows.Forms
function Combo_Changed(){
$Form1.Text = $Combo1.SelectedItem
}
$Form1 = New-Object Form
$Form1.Size = "400, 250"
$Combo1 = New-Object ComboBox
$Combo1.SetBounds(10, 10, 100, 20)
$Combo1.Items.Add("項目1")
$Combo1.Items.Add("項目2")
$Combo1.Items.Add("項目3")
$Combo1.Items.Add("項目4")
$Combo1.Items.Add("項目5")
$Combo1.Add_SelectedIndexChanged({Combo_Changed})
$Form1.Controls.Add($Combo1)
$Form1.ShowDialog()
解説
New-Object ComboBox
コンボボックスを生成します。
コンボボックス.Add_SelectedIndexChanged({ 関数名 })
項目選択イベントに関数を指定します。
リストボックス
フォームにリストボックスを追加する処理について解説します。
プログラムソース
using namespace System.Windows.Forms
Add-Type -AssemblyName System.Windows.Forms
function List_Click(){
$Form1.Text = $List1.SelectedItem
}
$Form1 = New-Object Form
$Form1.Size = "400, 250"
$List1 = New-Object ListBox
$List1.SetBounds(10, 10, 100, 60)
$List1.Items.Add("項目1")
$List1.Items.Add("項目2")
$List1.Items.Add("項目3")
$List1.Items.Add("項目4")
$List1.Items.Add("項目5")
$List1.Add_Click({List_Click})
$Form1.Controls.Add($List1)
$Form1.ShowDialog()
解説
New-Object ListBox
リストボックスを指定します。
リストボックス.Add_Click({ 関数名 })
クリックイベントに関数を指定します。