尝试编写一个简单的 Powershell 表单来搜索字符串。两个文本框,一个用于输出,另一个用于搜索。
目标:编写一个字符串来查找 > 按下enter
> 搜索到的字符串将在输出文本中以彩色显示(如果找到)
例子:
输出框 -text for example
搜索框 -ex
经过搜索行动后t/red>/ex/<red/t for /red>/ex/<red/ample
appendtext
replace
对我来说并不好,它弄乱了我的输出内容,试图用方法找到解决方案- 我不知道为什么,但link2 中的
SelectionStart
和SelectionLength
对我来说不起作用。它没有选择文本,尽管它找到了正确的位置和正确的长度
搜索代码(link2文本选择案例):
$SearchInput = New-Object System.Windows.Forms.TextBox
$SearchInput.Dock = "Bottom"
$Form.Controls.Add($SearchInput)
$SearchInput.Add_KeyDown({if ($_.KeyCode -eq "Enter")
{
$pos = $outputBox.Text.IndexOf($($SearchInput.text))
if ($pos -ne -1) {
$outputBox.SelectionStart = $pos
$outputBox.SelectionLength = $($($SearchInput.text).Length)
}
}
})
输出框代码:
$outputBox = New-Object System.Windows.Forms.RichTextBox
$outputBox.Location = New-Object System.Drawing.Size(0,250)
$outputBox.Size = New-Object System.Drawing.Size(780,405)
$outputBox.MultiLine = $True
$outputBox.ForeColor = "White"
$outputBox.BackColor = "Black"
$outputBox.ScrollBars = "Vertical"
$outputBox.ReadOnly=$True
$Form.Controls.Add($outputBox)