Como colorir strings específicas na caixa de texto do powershell

0

Como colorir sequências específicas na caixa de texto em formulários do PowerShell. Eu não uso nenhum aplicativo "studio".

Saída por exemplo:

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

Resultado esperado:

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

Ouvi falar sobre RichTextBox , mas ao usar o código abaixo, ele não imprime nada, apenas uma string vazia (nenhum erro apareceu no código)

$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
    
por igor 20.11.2017 / 14:06

1 resposta

2

Funciona para mim.

Add-Type-AssemblyNameSystem.Windows.Forms$Form=New-Objectsystem.Windows.Forms.Form$Form.Width=300$Form.Height=200$StatisticsBox=New-ObjectSystem.Windows.Forms.RichTextBox$StatisticsBox.Location=New-ObjectSystem.Drawing.Size(50,30)$StatisticsBox.Size=New-ObjectSystem.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 é sempre a minha primeira parada para isso.

    
por 20.11.2017 / 15:17