我正在尝试在进度栏(百分比等)上放置文本,但是它不起作用。进度栏文本基于this。下面是该代码的简化版本。
["My","text"]
我没有收到任何错误,但根本不显示文字。我想念什么?有什么想法吗?
答案 0 :(得分:3)
您不是应该在进度条上设置text
属性
$progressBarText
应该是$progressBar.Text
答案 1 :(得分:1)
出于某种原因,PowerShell中的那个对您不起作用吗?这是我每天使用多次的真实脚本的摘录。您也许可以根据需要进行调整。我意识到它不是GUI,而是100%PowerShell。
try {
"Your Secret" | clip
1..$Delay | % {
if (-not ( [console]::KeyAvailable) ) {
write-host "$($_)`r" -NoNewline
Write-Progress -Status "Press Any Key to continue" `
-Activity "Paste password before it is removed from the clipboard" `
-PercentComplete ($_ * 100 / $Delay)
Start-Sleep -Seconds 1
}
}
} finally {
$null | clip
if ([console]::KeyAvailable) {
$x = [console]::ReadKey()
Write-Information -MessageData $x -Tags "KeyStroke"
}
}
(如何真正将安全密码输入剪贴板是阅读器的一项单独任务。)
答案 2 :(得分:0)
我是如何做到的,并且有效。
我将其放在脚本的开头,如下所示:
$Font = New-Object System.Drawing.Font('Arial', 10, 'Bold', 'Pixel')
$brush1 = New-Object Drawing.SolidBrush([System.Drawing.Color]::Black)
$PBCG = $ProgressBar1.CreateGraphics()
我做了一个像这样写的函数:
function UpdateText([String] $text){
$x = ($ProgressBar1.Width / 2) - ([int]$PBCG.MeasureString($text, $Font).Width / 2)
$y = ($ProgressBar1.Height / 2) - ([int]$PBCG.MeasureString($text, $Font).Height / 2)
$PointF = [System.Drawing.PointF]::new($x, $y)
$PBCG.DrawString($text, $Font, $brush1, $PointF)
}
我希望它对您有帮助