Mencoba menulis formulir Powershell sederhana untuk mencari string. Dua kotak teks, satu untuk output dan yang kedua untuk pencarian.
Sasaran: menulis string untuk menemukan> tekan enter
> string yang dicari akan diwarnai dalam teks keluaran (jika ditemukan)
Contoh:
OutputBox - text for example
Kotak pencarian - ex
Setelah tindakan pencarian - t/red>/ex/<red/t for /red>/ex/<red/ample
Kode yang digunakan dari link1 dan link2 sejauh ini, dan memiliki dua masalah:
appendtext
tidak baik dalam kasus saya, itu mengacaukan konten output saya, berusaha mencari solusi denganreplace
metode- Saya tidak tahu mengapa, tetapi
SelectionStart
danSelectionLength
dari link2 tidak bekerja untuk saya. Itu tidak memilih teks, meskipun ia menemukan posisi yang tepat dengan panjang yang tepat
Kode pencarian (case2 pemilihan teks):
$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)
}
}
})
Kode OutputBox:
$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)