Powershell ColorDialog-如何检查是否按了“取消”或“X”

Powershell ColorDialog-如何检查是否按了“取消”或“X”,powershell,Powershell,在这个PowerShell代码中,对话框打开了,但我似乎找不到一种方法来知道是否按下了“取消”或“X”按钮 如果用户按cancel,则会从Color属性返回一个值 如何修复此问题,以便在用户按cancel或X关闭对话框时返回不同的结果 $colorDialog = new-object System.Windows.Forms.ColorDialog [void]$colorDialog.ShowDialog() # This will always return a value even w

在这个PowerShell代码中,对话框打开了,但我似乎找不到一种方法来知道是否按下了“取消”或“X”按钮

如果用户按cancel,则会从
Color
属性返回一个值

如何修复此问题,以便在用户按cancel或X关闭对话框时返回不同的结果

$colorDialog = new-object System.Windows.Forms.ColorDialog
[void]$colorDialog.ShowDialog()

# This will always return a value even when cancel is pressed.
$colorDialog.Color
如果取消或按下X按钮,它将始终返回:

R             : 0
G             : 0
B             : 0
A             : 255
IsKnownColor  : True
IsEmpty       : False
IsNamedColor  : True
IsSystemColor : False
Name          : Black
您需要检查从
ShowDialog()
返回的:

$colorDialog = new-object System.Windows.Forms.ColorDialog
if($colorDialog.ShowDialog() -eq 'OK'){
  $colorDialog.Color
} 
else {
  Write-Warning "No color was picked"
}