Tentando escrever um formulário simples do Powershell para pesquisar strings. Duas caixas de texto, uma é para a saída, a segunda é para pesquisa.
Objetivo: escrever uma string para encontrar > pressione enter
> A string pesquisada será colorida no texto de saída (se encontrado)
Exemplo:
OutputBox - text for example
SearchBox - ex
Após a ação de pesquisa - t/red>/ex/<red/t for /red>/ex/<red/ample
Código usado de link1 e link2 até o momento e tem dois problemas:
appendtext
não é bom no meu caso, isso atrapalha meu conteúdo de saída, tentando encontrar uma solução com replace
method SelectionStart
e SelectionLength
do link2 não funcionam para mim. Não seleciona o texto, embora encontre a posição correta com o comprimento correto Código de pesquisa (caso de seleção de texto 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)
}
}
})
Código da caixa de saída:
$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)
Tags colors search powershell