Как раскрасить определенные строки в текстовом поле в формах PowerShell. Я не использую никаких "студийных" приложений.

Вывод например:

Searching...
a - found
b - Not found
c - found

Ожидаемый результат:

Searching...
a - found
b - \red\Not found\red\
c - found

Я слышал о RichTextBox , но при использовании приведенного ниже кода он ничего не печатает, просто пустая строка (в коде не было ошибок)

$StatisticsBox = New-Object System.Windows.Forms.RichTextBox 
    $StatisticsBox.Location = New-Object System.Drawing.Size(170,30) 
    $StatisticsBox.Size = New-Object System.Drawing.Size(150,320) 
    $StatisticsBox.MultiLine = $True 
    $StatisticsBox.ScrollBars = "Vertical" 
    $StatisticsBox.ReadOnly=$True
    $Form.Controls.Add($StatisticsBox) 

$StatisticsBox.SelectionColor = 'red' <---- also tried "color.red"
$StatisticsBox.text = "`r`nNot Found:`r`n" + $StatisticsBox.AppendText("colored stirng") + "`r`n" +$StatisticsBox.text

1 ответ1

2

Работает для меня.

Add-Type -AssemblyName System.Windows.Forms

$Form = New-Object system.Windows.Forms.Form
$Form.Width = 300
$Form.Height = 200

$StatisticsBox = New-Object System.Windows.Forms.RichTextBox 
$StatisticsBox.Location = New-Object System.Drawing.Size(50,30) 
$StatisticsBox.Size = New-Object System.Drawing.Size(150,100) 
$StatisticsBox.MultiLine = $True 
$StatisticsBox.ScrollBars = "Vertical" 
$StatisticsBox.ReadOnly=$True
$Form.Controls.Add($StatisticsBox) 

$StatisticsBox.SelectionColor = 'red'
$StatisticsBox.text = "`r`nNot Found:`r`n" + $StatisticsBox.AppendText("colored stirng") + "`r`n" +$StatisticsBox.text

[void]$Form.ShowDialog()
$Form.Dispose()

POSHGUI всегда моя первая остановка для этого.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .