次のコードを含むフォームにボタンがあります。
$BrowseButton = New-Object System.Windows.Forms.Button
$BrowseButton.Location = New-Object System.Drawing.Size(97,75)
$BrowseButton.Size = New-Object System.Drawing.Size(75,23)
$BrowseButton.Text = "Browse"
$BrowseButton.Add_Click({$pathForm.Close();getPath})
$pathForm.Controls.Add($BrowseButton)
私の目標は、$pathForm を閉じて、次の関数を呼び出すことです。
Function getPath {
$app = new-object -com Shell.Application
$folder = $app.BrowseForFolder(0, "Select Folder", 0, "C:\")
if ($folder.Self.Path -ne "") {$selected = "You selected " + $folder.Self.Path}
}
$getPath を呼び出さないと、フォームは意図したとおりに閉じます。ただし、クリックに「getPath」を追加すると、フォームが閉じず、BrowseForFolder シェル アプリが背後で開きます。開いたままになる原因は何ですか?
私はPowerShellとコーディング全般に慣れていないため、コードに明らかなエラーがある可能性があります。ありがとう!