2015-07-30

Windows Formでよく使うプロパティまとめ

PowerShellでは、.Net Frameworkを使用し、様々なフォームを作成することができます。

当ブログでもユーザーフォームの作成方法をいくつかご紹介してまいりました。

   ユーザーフォーム 1回目 【PowerShellでユーザーフォームを作る - 基礎編 -
   ユーザーフォーム 2回目 【PowerShellでユーザーフォームを作る - オプション紹介 -
   ユーザーフォーム 3回目 【PoweShellでユーザーフォームを作る - リストボックス編 -
   ユーザーフォーム 4回目 【PowerShellでユーザーフォームを作る - チェックボックス編 -
   ユーザーフォーム 5回目 【PowerShellでユーザーフォームを作る - ラジオボタン編 -
   ユーザーフォーム 6回目 【PowerShellでユーザーフォームを作る - コンボボックス編 -


今回は、Formクラスのプロパティの中から、筆者の独断と偏見で、特によく使うものに厳選して、それぞれの書き方・使用方法をご紹介していきます。

中には、過去記事にも書いたことのないものもありますので、ぜひご確認ください!

※下記の$formについては、ユーザーフォーム 1回目 【PowerShellでユーザーフォームを作る - 基礎編 -】を参照ください。

2015-07-29

PowerShellでユーザーフォームを作る - コンボボックス編 -

PowerShellでは、ユーザーの好みに合わせて、独自にフォームを作成することができます。

以前の投稿で、インプットボックスやメッセージボックスをご紹介しましたが、それは非常にシンプルなものであり、使い勝手が良い反面、自由度が低いものでした。

過去の投稿はこちら↓↓
【PowerShellでInputBoxを使用する】
【PowerShellでMessageBoxを使用する】


ユーザーフォーム 6回目は「PowerShellでユーザーフォームを作る - コンボボックス編 -」です。

   ユーザーフォーム 1回目 【PowerShellでユーザーフォームを作る - 基礎編 -
   ユーザーフォーム 2回目 【PowerShellでユーザーフォームを作る - オプション紹介 -
   ユーザーフォーム 3回目 【PoweShellでユーザーフォームを作る - リストボックス編 -
   ユーザーフォーム 4回目 【PowerShellでユーザーフォームを作る - チェックボックス編 -
   ユーザーフォーム 5回目 【PowerShellでユーザーフォームを作る - ラジオボタン編 -


コンボボックスと言われても、どんなものかすぐには浮かばない方もいらっしゃるかと思います。

百聞は一見に如かず。

コンボボックスは下記のようなものを言います。


<今回の完成品>


この画像のうち濃い緑の部分がコンボボックスです。
このコンボボックスを展開すると以下のようになっています。
これなら見たことがあるのではないでしょうか。


使い方はリストボックスと似ていますが、リストボックスはフォーム上で大きいスペースを必要とするのに対し、コンボボックスは小さいスペースで済むことが利点です。

また、コンボボックスと似たものとしてドロップダウンリストがあります。
この2つを同じものであると思われている方もいらっしゃるようですが、厳密に言うと少し異なります。

ざっと調べた内容を要約すると、下記の違いがあります。

  コンボボックス    … 一覧から選択、もしくはユーザーが直接入力で指定できる
  ドロップダウンリスト … 一覧から選択のみ(ユーザー入力不可)


今回作成するコンボボックスは、一覧にりんご、みかん、メロン、いちご、ぶどうが表示されますが、それ以外も指定することができるため、直接「オレンジ」と入力しても問題ないということです。
反対にドロップダウンリストは、ユーザー入力ができず、必ずりんご、みかん、メロン、いちご、ぶどうの中から選択しなければなりません。


前置きが長きなりましたが、ここから例文を記述します。

2015-07-18

PowerShellでユーザーフォームを作る - ラジオボタン編 -

PowerShellでは、ユーザーの好みに合わせて、独自にフォームを作成することができます。

以前の投稿で、インプットボックスやメッセージボックスをご紹介しましたが、それは非常にシンプルなものであり、使い勝手が良い反面、自由度が低いものでした。

過去の投稿はこちら↓↓
【PowerShellでInputBoxを使用する】
【PowerShellでMessageBoxを使用する】


ユーザーフォーム 5回目は「PowerShellでユーザーフォームを作る - ラジオボタン編 -」です。

   ユーザーフォーム 1回目 【PowerShellでユーザーフォームを作る - 基礎編 -
   ユーザーフォーム 2回目 【PowerShellでユーザーフォームを作る - オプション紹介 -
   ユーザーフォーム 3回目 【PoweShellでユーザーフォームを作る - リストボックス編 -
   ユーザーフォーム 4回目 【PowerShellでユーザーフォームを作る - チェックボックス編 -

ラジオボタン(RadioButton)は、選択肢をグループで括り、かつ、それぞれのグループ内で1つずつ選択させる場合に用いられます。


<今回の完成品>



Gerder(性別)グループとAge(年齢)グループに分かれているのが見えますでしょうか。

今回作成するものは、Genderグループから男性もしくは女性を選択し、Ageグループから年齢層を選択するものです。

前述の通り、それぞれのグループからは1つずつしか選択できません。

それでは例文を記述します。

2015-07-15

PowerShellでユーザーフォームを作る - チェックボックス編 -

PowerShellでは、ユーザーの好みに合わせて、独自にフォームを作成することができます。

以前の投稿で、インプットボックスやメッセージボックスをご紹介しましたが、それは非常にシンプルなものであり、使い勝手が良い反面、自由度が低いものでした。

過去の投稿はこちら↓↓
【PowerShellでInputBoxを使用する】
【PowerShellでMessageBoxを使用する】


ユーザーフォーム 4回目は「PowerShellでユーザーフォームを作る - チェックボックス編 -」です。

   ユーザーフォーム 1回目 【PowerShellでユーザーフォームを作る - 基礎編 -
   ユーザーフォーム 2回目 【PowerShellでユーザーフォームを作る - オプション紹介 -
   ユーザーフォーム 3回目 【PoweShellでユーザーフォームを作る - リストボックス編 -

前回はリストボックスを作成しましたが、今回はチェックボックス(CheckBox)を作成していきます。


<今回の完成品>



リストボックスと似ていますが、各項目の左側に □ が付いているのがおわかりかと思います。

リストボックスはリスト内から1つだけ選択させるものであるのに対し、チェックボックスは1つもしくは複数項目を選択させます。

それでは例文を記述します。

---------ここから-------------------------------------------------------------------------------------
# ユーザーフォームを作る - チェックボックス編 -

# アセンブリのロード
Add-Type -AssemblyName System.Windows.Forms

# フォームの作成
$form = New-Object System.Windows.Forms.Form
$form.Size = "250,280"
$form.Startposition = "CenterScreen"
$form.Text = "選択"

# ラベルを作成
$label = New-Object System.Windows.Forms.Label
$label.Location = "10,20"
$label.Size = "250,20"
$label.Text = "好きな果物を選択してください"

# チェックボックスを作成
$CheckedBox = New-Object System.Windows.Forms.CheckedListBox
$CheckedBox.Location = "5,40"
$CheckedBox.Size = "220,150"

# 配列を作成
$RETU = ("りんご","みかん","メロン","レモン","バナナ","すいか","いちご","パパイヤ","キュウイ","オレンジ","ぶどう")

# チェックボックスに10項目を追加
$CheckedBox.Items.AddRange($RETU)

# すべての既存の選択をクリア
$CheckedBox.ClearSelected()

# OKボタンの設定
$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = "40,200"
$OKButton.Size = "75,30"
$OKButton.Text = "OK"
$OKButton.DialogResult = [System.Windows.Forms.DialogResult]::OK

# キャンセルボタンの設定
$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = "130,200"
$CancelButton.Size = "75,30"
$CancelButton.Text = "Cancel"
$CancelButton.DialogResult = [System.Windows.Forms.DialogResult]::Cancel

# フォームにアイテムを追加
$form.Controls.Add($label)
$form.Controls.Add($OKButton)
$form.Controls.Add($CancelButton)
$form.Controls.Add($CheckedBox)

# キーとボタンの関係
$form.AcceptButton = $OKButton
$form.CancelButton = $CancelButton

# 最前面に表示:する
$form.Topmost = $True

# フォームを表示
$result = $Form.ShowDialog()

# 処理分岐
if ( $result -eq "OK" )
{
    $AAA = @($CheckedBox.CheckedItems)
}else{
    exit
}
---------ここまで-------------------------------------------------------------------------------------

上記内容をコピーし、PowerShell ISEに貼り付けて、実行してみてください。
完成品と同じものが表示されましたか??

それではチェックボックスに関連する部分の解説をしていきます。
※フォームやボタン等については省略させていただきます。
 ご不明な方は、過去記事を参照ください。
  →【PowerShellでユーザーフォームを作る - 基礎編 -

**********************************解説*******************************************

# チェックボックスを作成
$CheckedBox = New-Object System.Windows.Forms.CheckedListBox
$CheckedBox.Location = "5,40"
$CheckedBox.Size = "220,150"

ここでは、CheckedListBoxクラスをインスタンス化し、使用準備を行っています。
同時にLocationプロパティで表示する位置を、Sizeプロパティで大きさを指定しています。


# 配列を作成
$RETU = ("りんご","みかん","メロン","レモン","バナナ","すいか","いちご","パパイヤ","キュウイ","オレンジ","ぶどう")

・チェックボックス内に表示させる項目を作成しています。



# チェックボックスに10項目を追加
$CheckedBox.Items.AddRange($RETU)

・作成した項目をチェックボックス内に追加しています。
 今回は配列に項目を格納した上で、まとめて追加しましたが、当然、ひとつずつ追加することも可能です。
 その場合は次のように記述します。

 $CheckedBox.Items.AddRange("りんご")
 $CheckedBox.Items.AddRange("いちご")
 $CheckedBox.Items.AddRange("みかん")
    ~~以下省略~~


# 処理分岐
if ( $result -eq "OK" )
{
    $AAA = @($CheckedBox.CheckedItems)
}else{
    exit
}

・チェックボックスの利点は複数項目を取得できることです。
 この部分では、チェックボックス内でチェックが入った全てのアイテムを変数AAAに格納しています。
***********************************************************************************

解説は以上となります。
今回の内容は前回のリストボックスとそこまで大きな違いはなかったと思います。

さて、次回は「PowerShellでユーザーフォームを作る - ラジオボタン編 -」を投稿したいと思います。

=======================================================================
本投稿に関する疑問や質問には可能な限りお答えさせていただきます。
お気軽にコメントやメールをお送りください。
(リクエストも歓迎します)
メール:tkk-powershell@gmail.com
また、間違いのご指摘・アドバイス等も歓迎いたします。
=======================================================================
Google+、Twitterで更新情報をお届けしています!
ぜひフォローをお願い致します!           
=======================================================================

2015-07-11

PowerShellでユーザーフォームを作る - リストボックス編 -

PowerShellでは、ユーザーの好みに合わせて、独自にフォームを作成することができます。

以前の投稿で、インプットボックスやメッセージボックスをご紹介しましたが、それは非常にシンプルなものであり、使い勝手が良い反面、自由度が低いものでした。

過去の投稿はこちら↓↓
【PowerShellでInputBoxを使用する】
【PowerShellでMessageBoxを使用する】


ユーザーフォーム 3回目は「PowerShellでユーザーフォームを作る - リストボックス編 -」です。

   ユーザーフォーム 1回目 【PowerShellでユーザーフォームを作る - 基礎編 -
   ユーザーフォーム 2回目 【PowerShellでユーザーフォームを作る - オプション紹介 -


基礎編では、入力ボックス(テキストボックス)をユーザーフォームで作成しました。
今回はその応用として、リストボックス(ListBox)の作り方をご紹介します。


<今回の完成品>



背景色などはあえて変更せず、シンプルなものにしています。

それでは例文を記述します。

2015-07-09

PowerShellでユーザーフォームを作る - オプション紹介 -

PowerShellでは、ユーザーが独自にフォームを作成することができます。

以前の投稿で、インプットボックスやメッセージボックスをご紹介しましたが、それは非常にシンプルなものであり、使い勝手が良い反面、自由度が低いものでした。

過去の投稿はこちら↓↓
PowerShellでInputBoxを使用する
PowerShellでMessageBoxを使用する


ユーザーフォーム 2回目は「PowerShellでユーザーフォームを作る - オプション紹介 -」です。
前回は基礎編として、シンプルな入力ボックス(テキストボックス)を表示させました。


   前回の記事はこちら → 【PowerShellでユーザーフォームを作る - 基礎編 -

今回は、前回の内容に様々なオプションをつけることで、ますます自分好みなフォームを作ることを目的とします。


<前回の完成品>



<今回の完成品>


印象がまったく違いますね。
見た目では色が付いただけのように見えますが、実際は細かい部分が多く変わっています。

それでは例文を記述します。

PowerShellでユーザーフォームを作る - 基礎編 -

PowerShellでは、ユーザーが独自にフォームを作成することができます。

以前の投稿で、インプットボックスやメッセージボックスをご紹介しましたが、それは非常にシンプルなものであり、使い勝手が良い反面、自由度が低いものでした。

過去の投稿はこちら↓↓
PowerShellでInputBoxを使用する
PowerShellでMessageBoxを使用する


よって今回より数回に分けて、独自のユーザーフォームを作る方法をご紹介していきます。


ユーザーフォーム 1回目は「PowerShellでユーザーフォームを作る - 基礎編 -」です。


<今回の完成品>


下記の例文を実行すると、上記のフォームが表示されます。

インプットボックスとあまり変わらない!といった声が聞こえてきそうですが、まぁ今回は基礎編ですので、どうかお付き合いください。


それでは例文を記述します。