Winforms Powershell Winform RichTextBox颜色?

Winforms Powershell Winform RichTextBox颜色?,winforms,powershell,Winforms,Powershell,我一直在寻找解决这个问题的办法。(试图解码这些,但几乎没有成功:) 这看起来应该很简单,但我正在努力想办法。似乎唯一的方法是使用selectionstart、selectionlength、selectioncolor,然后在打印时取消选择。我猜我可能必须想出一种算法,只选择我想要的richtextbox的位置。不过,在尝试这么做之前,我想问一下 问题: function UserInformation { $userdata = Get-ADUser $34 -properties *

我一直在寻找解决这个问题的办法。(试图解码这些,但几乎没有成功:)

这看起来应该很简单,但我正在努力想办法。似乎唯一的方法是使用selectionstart、selectionlength、selectioncolor,然后在打印时取消选择。我猜我可能必须想出一种算法,只选择我想要的richtextbox的位置。不过,在尝试这么做之前,我想问一下

问题:

function UserInformation {
    $userdata = Get-ADUser $34 -properties *

 ## IF LOCKED OUT, MAKE RED ##
    if ($userdata.lockedout -eq $false) {
        $outputBox.SelectionStart = #????
        $outputBox.SelectionLength = #????
        $outputBox.SelectionColor = [Drawing.Color]::Green

    elseif ($userdata.lockedout -eq $true) {
        $outputBox.SelectionStart = #????
        $outputBox.SelectionLength = #????
        $outputBox.SelectionColor = [Drawing.Color]::Red

    }

## GUI ##
    $outputBox = New-Object System.Windows.Forms.RichTextBox #creating the text box
    $outputBox.Location = New-Object System.Drawing.Size(5,40)
    $outputBox.Size = New-Object System.Drawing.Size(565,200)
    $outputBox.MultiLine = $True
    $outputBox.Anchor = [System.Windows.Forms.AnchorStyles]::Bottom -bor [System.Windows.Forms.AnchorStyles]::Right -bor 
                    [System.Windows.Forms.AnchorStyles]::Top -bor [System.Windows.Forms.AnchorStyles]::Left 
    $outputBox.ScrollBars = "Vertical"
    $Form.Controls.Add($outputBox) 
如何选择在其他行上开始选择

有没有办法只给我想要的选择上色,而不在richtextbox中手动选择位置?**

有没有更好的方法来实现这一点?

另外,是否有人知道特定于Powershell的Winforms的良好资源或参考?

请帮忙。谢谢



以下是我试图做的:

function UserInformation {
    $userdata = Get-ADUser $34 -properties *

 ## IF LOCKED OUT, MAKE RED ##
    if ($userdata.lockedout -eq $false) {
        $outputBox.SelectionStart = #????
        $outputBox.SelectionLength = #????
        $outputBox.SelectionColor = [Drawing.Color]::Green

    elseif ($userdata.lockedout -eq $true) {
        $outputBox.SelectionStart = #????
        $outputBox.SelectionLength = #????
        $outputBox.SelectionColor = [Drawing.Color]::Red

    }

## GUI ##
    $outputBox = New-Object System.Windows.Forms.RichTextBox #creating the text box
    $outputBox.Location = New-Object System.Drawing.Size(5,40)
    $outputBox.Size = New-Object System.Drawing.Size(565,200)
    $outputBox.MultiLine = $True
    $outputBox.Anchor = [System.Windows.Forms.AnchorStyles]::Bottom -bor [System.Windows.Forms.AnchorStyles]::Right -bor 
                    [System.Windows.Forms.AnchorStyles]::Top -bor [System.Windows.Forms.AnchorStyles]::Left 
    $outputBox.ScrollBars = "Vertical"
    $Form.Controls.Add($outputBox) 

您的帖子已经发布将近一年了,您可能已经得到了解决方案,但是我很幸运地使用了RichTextBox表单,使用了ForeColor属性

以下是我在PowerShell中的代码:

$outputBox = New-Object System.Windows.Forms.RichTextBox 
$outputBox.Location = New-Object System.Drawing.Size(8,175) 
$outputBox.Size = New-Object System.Drawing.Size(870,428) 
$outputBox.Font = New-Object System.Drawing.Font("Lucida Console",16)
$outputBox.ForeColor = [Drawing.Color]::Green
$outputBox.MultiLine = $True 
$outputBox.ReadOnly = $True
然后根据需要换行(在本例中变为绿色)


您的帖子已经发布将近一年了,您可能已经得到了解决方案,但是我很幸运地使用了RichTextBox表单,使用了ForeColor属性

以下是我在PowerShell中的代码:

$outputBox = New-Object System.Windows.Forms.RichTextBox 
$outputBox.Location = New-Object System.Drawing.Size(8,175) 
$outputBox.Size = New-Object System.Drawing.Size(870,428) 
$outputBox.Font = New-Object System.Drawing.Font("Lucida Console",16)
$outputBox.ForeColor = [Drawing.Color]::Green
$outputBox.MultiLine = $True 
$outputBox.ReadOnly = $True
然后根据需要换行(在本例中变为绿色)


您的帖子已经发布将近一年了,您可能已经得到了解决方案,但是我很幸运地使用了RichTextBox表单,使用了ForeColor属性

以下是我在PowerShell中的代码:

$outputBox = New-Object System.Windows.Forms.RichTextBox 
$outputBox.Location = New-Object System.Drawing.Size(8,175) 
$outputBox.Size = New-Object System.Drawing.Size(870,428) 
$outputBox.Font = New-Object System.Drawing.Font("Lucida Console",16)
$outputBox.ForeColor = [Drawing.Color]::Green
$outputBox.MultiLine = $True 
$outputBox.ReadOnly = $True
然后根据需要换行(在本例中变为绿色)


您的帖子已经发布将近一年了,您可能已经得到了解决方案,但是我很幸运地使用了RichTextBox表单,使用了ForeColor属性

以下是我在PowerShell中的代码:

$outputBox = New-Object System.Windows.Forms.RichTextBox 
$outputBox.Location = New-Object System.Drawing.Size(8,175) 
$outputBox.Size = New-Object System.Drawing.Size(870,428) 
$outputBox.Font = New-Object System.Drawing.Font("Lucida Console",16)
$outputBox.ForeColor = [Drawing.Color]::Green
$outputBox.MultiLine = $True 
$outputBox.ReadOnly = $True
然后根据需要换行(在本例中变为绿色)


要使其工作,您需要在每个新添加的行之前添加一个选择。必须通过以下方式添加新行:

AppendText()
此外,您还必须为新行在末尾设置一个换行符,并使用`n

$outputBox.SelectionColor = [Drawing.Color]::Green
$outputBox.AppendText("text here...`n")

要使其工作,您需要在每个新添加的行之前添加一个选择。必须通过以下方式添加新行:

AppendText()
此外,您还必须为新行在末尾设置一个换行符,并使用`n

$outputBox.SelectionColor = [Drawing.Color]::Green
$outputBox.AppendText("text here...`n")

要使其工作,您需要在每个新添加的行之前添加一个选择。必须通过以下方式添加新行:

AppendText()
此外,您还必须为新行在末尾设置一个换行符,并使用`n

$outputBox.SelectionColor = [Drawing.Color]::Green
$outputBox.AppendText("text here...`n")

要使其工作,您需要在每个新添加的行之前添加一个选择。必须通过以下方式添加新行:

AppendText()
此外,您还必须为新行在末尾设置一个换行符,并使用`n

$outputBox.SelectionColor = [Drawing.Color]::Green
$outputBox.AppendText("text here...`n")

太好了!我会调查的。谢谢你,大卫!这是行不通的。它将改变
RichTextBox
中整个文本的颜色,这太棒了!我会调查的。谢谢你,大卫!这是行不通的。它将改变
RichTextBox
中整个文本的颜色,这太棒了!我会调查的。谢谢你,大卫!这是行不通的。它将改变
RichTextBox
中整个文本的颜色,这太棒了!我会调查的。谢谢你,大卫!这是行不通的。它将改变
RichTextBox