使用输入框时如何对取消按钮进行测试

时间:2019-02-20 17:42:03

标签: powershell

我正在使用此代码制作输入框

做{ $ label = [Microsoft.VisualBasic.Interaction] :: InputBox(“实体USB音量”,“音量”,'PLUS que 0 ET MOINS de 12caractères') },直到($ label.length -lt 12-和!($ label -eq“”))

但是当用户单击取消按钮时,我需要脚本停止。

有没有一种方法可以测试何时取消?

1 个答案:

答案 0 :(得分:0)

是的。

您的代码不正确。好吧,你的逻辑不是。

您使用的是相同的结果,因此cancel永远无效,因此msgbox永远不会关闭/重绘的原因。

这个..

$label = [Microsoft.VisualBasic.Interaction]::

...将始终包含按下哪个按钮的结果。

所以,这个...

until (($label.length -lt 12) -or ($label -eq ''))

如果您想深入了解MsgBox之类的事情,请see this sample script.

理想情况下,您可以看做自己的WinForm或WPF对话框,它为您提供了更多的控件和可视化表达。请参见MS powershellgallery.com

中的该模块
Find-Module -Name AnyBox

Version    Name    Repository           Description                                                                                   
-------    ----    ----------           -----------                                                                                   
0.3.3      AnyBox  PSGallery            Designed to facilitate script input/output with an easily customizable WPF window

Find-Module -Name AnyBox | Save-Module -Path "$env:USERPROFILE\Documents\WindowsPowerShell\Modules" -Force
Install-Module -Name AnyBox