こんにちは、pwoershell で動的フォームを作成しようとしています。これは 5 つのボタン (色の名前) を持つフォームで、各ボタンは異なるテキスト ファイルを開きます (赤いボタンをクリックすると、red.txt を開く必要があります。ここでは完全なコード;
スクリプト開始
$var = "Red","Blue","Yellow","Black","White"
$testForm = New-Object System.Windows.Forms.Form
$testForm.Text = "Color List"
$testForm.AutoSize = $True
$testForm.AutoSizeMode = "GrowAndShrink"
$Font = New-Object System.Drawing.Font("Times New Roman",24, [System.Drawing.FontStyle]::Bold)
$testForm.Font = $Font
$Label = New-Object System.Windows.Forms.Label
$Label.Text = "Select the Color"
$Label.AutoSize = $True
$testForm.Controls.Add($Label)
$x=100
$y=50
foreach($color in $var)
{
$run = New-Object System.Windows.Forms.Button
$run.Location = New-Object System.Drawing.Size($x,$y)
$run.Size = New-Object System.Drawing.Size(100,50)
$run.Text = "$Color"
$run.Add_Click({ Invoke-Expression "notepad C:\Users\User\$color.txt" })
$testForm.Controls.Add($run)
$Font = New-Object System.Drawing.Font("Times New Roman",14,[System.Drawing.FontStyle]::Regular)
$run.font = $Font
$run.AutoSize = $True
$y+=50
}
$testForm.ShowDialog()
終了スクリプト
フォームがボタンで開き、すべてのボタンがクリックされると、配列の最後の要素であるため、ファイル「White.txt」を開くまで、すべてがうまくいきました。各ボタンが最後のカラー ファイルではなく、それぞれのファイルのみを開くようにスクリプトを変更する方法はありますか?
さらに質問や説明が必要な場合はお知らせください。