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:
appendtexttidak baik dalam kasus saya, itu mengacaukan konten output saya, berusaha mencari solusi denganreplacemetode- Saya tidak tahu mengapa, tetapi
SelectionStartdanSelectionLengthdari 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)