しばらくの間、このスニペットの powershell コードに戻ってきましたが、解決策が見つからないようです。基本的に、WinForm に Textbox があり、ckcTsetg、minintKLV、bbcada、tyleass などの名前をテキスト ボックスに入力します。それらをテキスト ボックスに配置するときに、このフィルター アウト ボタンをクリックすると、次の "ckcTsetg, minintKLV" がフィルター アウトされますが、これは正しいものです。私が抱えている問題は、フィルターで除外されない他のものも削除されるか、到達しないことです。フィルター ボタンをクリックすると、"$logOutputBox.TEXT" 内のテキストがフィルター処理され、フィルター処理されたリストが $objOutputBox.TEXT = $Numbered によって別のボックス "$objOutputBox.TEXT" に渡されます。代わりに、リスト全体を完全にフィルタリングします.. 有効な名前を事前に取得すると、「$ objOutputBox.TEXT」に渡されて問題ありません。私はいくつかの異なることを試しましたが、何もうまくいかないようです。何か案は?助けてくれてありがとう!
$repeatButton = New-Object System.Windows.Forms.Button
$repeatButton.Location = New-Object System.Drawing.Size(310,375)
$repeatButton.Size = New-Object System.Drawing.Size(160,43)
$repeatButton.Font = New-Object System.Drawing.Font("Courier New", "10")
$repeatButton.Text = "Filter"
$repeatButton.Add_Click({
$Filtered = $logOutputBox.TEXT
$Numbered = $Filtered.Split("' ")| ? {$_ -notmatch "etg$|^minint|kvmlc*|dsm|les"}
$objOutputBox.TEXT = $Numbered
})
$tunerForm.Controls.Add($repeatButton)