PowerShell 続・メッセージボックスを使い倒せ!
|
好評記事であるPowerShellによるメッセージボックスについて、再びお送りしたい。
今回で第3弾である。
▼第1弾、第2弾の記事はこちら
PowerShell メッセージボックスを表示しろ! - 業務改善!Windows PowerShell入門
PowerShell メッセージボックスを使い倒せ! - 業務改善!Windows PowerShell入門
さて、気になる今回は、.NET Framework様にお世話になり、実装をしたい。
どうやって実装するんや?!
.NET Framework様にお世話になるにしても、いきなりメッセージボックスを叩き込むことは残念ながらできない。
よって、事前準備が必要となる。
といっても、これまでの記事で何度も登場してきた、「アセンブリのロード」というやつをやるだけだ。
こいつは絶対忘れずやろうゼ!
Add-Type -AssemblyName System.Windows.Forms
これさえやっておけば、あとは、System.Windows.Forms名前空間におけるMessageBoxクラスを利用して、メッセージボックスを叩き込むだけである。
ではさっそく、サンプルスクリプトといきたい。
#アセンブリのロード
Add-Type -AssemblyName System.Windows.Forms
#実行確認
$result = [System.Windows.Forms.MessageBox]::Show("実行するけ?","確認","YesNo","Question","Button2")
#結果表示
If($result -eq "Yes"){
[void][System.Windows.Forms.MessageBox]::Show("Yesが押されたゼ!","結果","OK","Information")
}Else{
[void][System.Windows.Forms.MessageBox]::Show("Noが押されたゼ!","結果","OK","Information")
}
Read-Host "×ボタンで終了"
|
実行確認で、ユーザに「はい」or「いいえ」を選択させている。
戻り値が取得できるので、結果表示の際に処理分岐が可能である。
[void]を頭につけているのは、コンソールに余分な出力をしないためである。
[void]をつけないと、コンソールにOKと出力されてしまう。
MessageBoxクラスの引数
以下にまとめた。
▼引数の内容
内容 | |
---|---|
引数1 | メッセージ内容 |
引数2 | タイトル |
引数3 | 表示するボタン |
引数4 | 表示するアイコン |
引数5 | 引数3の初期フォーカスボタン |
※初期フォーカスボタンを「はい」にしたい場合は、Button1とすれば、良い。
▼表示するボタンの設定値について
設定値 | |
---|---|
OK | OK |
OK、キャンセル | OKCancel |
中止、再試行、無視 | AbortRetryIgnore |
はい、いいえ、キャンセル | YesNoCancel |
はい、いいえ | YesNo |
再試行、キャンセル | RetryCancel |
▼表示するアイコンについて
設定値 | |
---|---|
表示なし | None |
×マーク | Error |
?マーク | Question |
!マーク | Exclamation |
iマーク | Information |
静的メソッドとは?!
これまで色々投稿した記事では、アセンブリをロードしたあと、.NET FrameworkのクラスをNew-Objectコマンドレットを使って、インスタンスを作成することが多かった。
しかし、今回の記事ではどうか?!
以下のような形式になっている。
[クラス名]::メソッド名
このような形式のものを、静的メソッド(Staticメソッド)と呼ぶ。
つまり、MessageBoxクラスは、静的メソッドである。
MessageBoxクラスは、メソッドおよびプロパティが収められている参照用のライブラリである。
よって、クラスを参照するだけであり、作成、破棄、変更はされない。
以上より、MessageBoxクラスのメソッドやプロパティは、オブジェクトを作成せずにアクセスすることができる。
さてさて、メッセージボックスというのは面白いな。
プログラミングの基本となるものゆえに、とにかく使い倒しまくろうゼ!
PowerShell、イエーイ!
|