PowerShellでフォーム・GUIを作る

PowerShell

PowerShellでは、フォームに入力した値をもとに処理をしていくことができます。
簡単なものだと、テキストボックスに文字を入力して、OKボタンを押したら入力した文字を表示する、といったことができます。
今回はサンプルを使って、フォームに使う部品(コンポーネント)を紹介します。

フォームを作る

まず、ボタンやテキストボックスを置くための土台としてフォームが必要です。

スクリプトをコピペして、実行した画面が↓になります。

スクリプトの解説をします。

Windowsフォームのアセンブリを読み込む必要があります。
おまじないみたいなものと思ってください。
また、PowerShell ISEでは不要です。

$form = New-Object System.Windows.Forms.Formで、フォームを生成し、$form.Textで、下の赤枠で囲んでいる部分の文の内容を決めます。
$form.Sizeで、表示したフォームの大きさを指定します。
サイズ指定のカッコの中は、(横の長さ,縦の長さ)となっています。(700,300)だと横長になります。

最後に生成したフォームを表示します。ShowDialog()の()内は空欄のままで問題ありません。

PowerShellでWindowsフォームを使う場合、必ず上記のスクリプトを書くことになりますので忘れずに記載しましょう。

ラベル・テキストボックス・ボタンを配置する

フォームを作成した後は、必要な部品を置いていきましょう。
サンプルでは、好きな食べ物を入力してボタンをクリックすると、メッセージボックス形式で、
「好きな食べ物は、(入力した食べ物)です。」と表示するスクリプトです↓

サンプルを実行したのが↓

さらにテキストボックスに、「ハンバーグ」と入力してボタンを押したものが↓

サンプルでは最低限の部品の設定(サンプルでいうとLocation、Sizeなど)をしています。
部品の設定項目は他にも多くありますが、基本的にはこれで十分かと思います。

少し気になったのは、テキストボックスの縦幅は変えられないようですね…
テキストボックスの縦幅を設定するHeightプロパティがありましたが、変更しても縦幅を変えられませんでした。テキストボックスを利用する場合はご注意ください。

タイトルとURLをコピーしました