dポイントプレゼントキャンペーン実施中!

PowerShellにてツリービュー入力フォーム作成方法について

 私、初心者なりにVBAとVBSを勉強していたのですがこの度、無謀にもPowerShellにチャレンジしています。しかし!!あれこれネットで調べましたが限界です!どなたか教えて下さい!
 <やりたいこと>
・フォームにツリービューとリストボックスを作成
・ツリービューにてノードを選択するとリストボックスに入る。
・リストボックスに入った項目に対して処理

A 回答 (1件)

> ・フォームにツリービューとリストボックスを作成


> ・ツリービューにてノードを選択するとリストボックスに入る。
>・リストボックスに入った項目に対して処理

とりあえず上の2点については、こんな感じでしょうか。
最後の項目はご自身でやりたいことを記述してください。


-----test.ps1
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

$font = New-Object System.Drawing.Font("MS ゴシック",16)

$form = New-Object System.Windows.Forms.Form
$form.Size = "400,400"
$form.Text = "Test"
$form.Font = $font

$treeview = New-Object System.Windows.Forms.TreeView
$treeview.Location = "10,10"
$treeview.Size = "180,300"

# ダミーのノード追加
[void]$treeview.Nodes.Add("Item1")
[void]$treeview.Nodes.Add("Item2")
[void]$treeview.Nodes.Add("Item3")
[void]$treeview.Nodes[0].Nodes.Add("Item01")
[void]$treeview.Nodes[0].Nodes.Add("Item02")
[void]$treeview.Nodes[2].Nodes.Add("Item31")
[void]$treeview.Nodes[0].Nodes[0].Nodes.Add("Item001")

# ノードを選択するとリストボックスに入る処理
[void]$treeview.Add_AfterSelect({$listbox.Items.Add($treeview.SelectedNode.Text)})


$listbox = New-Object System.Windows.Forms.ListBox
$listbox.Location = "200,10"
$listbox.Size = "150,300"



[void]$form.Controls.AddRange(@($treeview,$listbox))
[void]$Form.Showdialog()

------

マニュアル(MSDN)
・TreeView クラス
https://msdn.microsoft.com/ja-jp/library/system. …

・ListBox クラス
https://msdn.microsoft.com/ja-jp/library/system. …
    • good
    • 0
この回答へのお礼

ありがとう御座います、希望通りの動作を実現出来ました。
併せて記載頂いたマニュアルも見てはいたのですが、PowerShellでの実際の使用例がないので、[void]やAdd_Afterselect等の使い方を全く理解出来ていませんでしたので、大変参考になります。

お礼日時:2018/04/19 11:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!