Windows Formアプリケーションを作成する その1(PowerShell Tips) Windows Formアプリケーションを作成する その2(PowerShell Tips) Windows Formアプリケーションを作成する その3(PowerShell Tips)
の続きです。
今回は、[閉じる]ボタンを追加することで、前回同様コントロールの追加方法、そしてイベントの作成方法についてみていきたいと思います。
1.パネルを追加する
今回追加する[閉じる]ボタンはパネルに追加したいと思います。
ということで、まずは下記のようにしてフォームにパネルを追加します。
#===== Panelの作成 ===== $panel1 = New-Object System.Windows.Forms.Panel $form.Controls.Add($panel1) $panel1.Dock = [System.Windows.Forms.DockStyle]::Bottom $panel1.Height = 30
まずは、New-Objectコマンドレットを使用して、パネルのインスタンスを作成します。
そしてフォーム($form)のControls.Addメソッドを使用して、パネルを追加します。
パネルはフォームの最下部に設置したいので、Bottomを指定し、高さを30としています。
2.ボタンを追加する
ボタンもNew-Objectコマンドレットを使用して、インスタンスを作成します。
また、Locationプロパティを使用して、ボタンの配置位置を指定します。ボタンはパネルに追加するので基点はパネルの左上となります。
#===== [閉じる]ボタンの作成 ===== $btnClose = New-Object System.Windows.Forms.Button $btnClose.Location = New-Object System.Drawing.Point(405, 4)
3.ボタンテキストの設定
[閉じる]ボタンなので、Textプロパティに「閉じる」を指定します。
$btnClose.Text = "閉じる"
4.Anchorの設定
Anchorはそのコントロールの親(ここではPanel)が伸縮したときに、配置位置をどのようにするかを指定するものです。
今回は、パネルの右上からの位置をキープし続けるようにしたいためTopとRightを指定しています。 この組み合わせは-bor演算子を使用して設定します。
5.イベントの追加
イベントを追加するには、そのオブジェクトの 変数.Add_イベント名 のように記述します。 今回はクリック時にフォームを閉じたいので
$btnClose.Add_Click({$form.Close()})
とします。
6.パネルへボタンを追加する
パネルへボタンを追加するには、Controls.Addを使用します。
$panel1.Controls.AddRange($btnClose)
7.フォームを表示する
フォームを表示するにはShowDialogメソッドを使用します。Showメソッドを使用すると一瞬でフォームが閉じてしまうので、PowerShellで使用するときはShowDialogメソッドを使用するようにしてください。
#===== Formを表示 ===== $form.ShowDialog()
Theme design by Jelle Druyts
Pick a theme: BlogXP business calmBlue Candid Blue dasBlog dasblogger DirectionalRedux Discreet Blog Blue Elegante essence Just Html MadsSimple Mobile Mono Movable Radio Blue Movable Radio Heat nautica022 orangeCream Portal Project84 Project84Grass Slate Sound Waves Tricoleur useit.com Voidclass2 BlogXP business calmBlue Candid Blue dasBlog dasblogger DirectionalRedux Discreet Blog Blue Elegante essence Just Html MadsSimple Mobile Mono Movable Radio Blue Movable Radio Heat nautica022 orangeCream Portal Project84 Project84Grass Slate Sound Waves Tricoleur useit.com Voidclass2
Powered by: newtelligence dasBlog 2.0.7226.0
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.
© Copyright 2009, HIRO
E-mail