取消屏蔽密码文本框不起作用
Unmask Password textbox not working
我有以下代码来显示带有文本框和复选框的 GUI:
Add-Type -Assembly 'System.Windows.Forms'
$form = New-Object Windows.Forms.Form
$password = New-Object Windows.Forms.MaskedTextBox
$password.PasswordChar = '*'
$form.Controls.Add($password)
$checkBox2 = New-Object System.Windows.Forms.CheckBox
$checkBox2.add_click($handler_button1_Click)
$form.Controls.Add($checkBox2)
$handler_button1_Click = {
if ($checkBox2.Checked) {
$password.PasswordChar = '[=10=]' // [char][=10=] tried this too
} else {
$password.PasswordChar = '*'
}
}
$form.ShowDialog()
选中复选框时,我正在取消屏蔽字符,但出现异常
Cannot convert value "[=11=]" to type "System.Char". Error: "String must be exactly one character long."
有人可以告诉我如何处理这个问题吗?
在 PowerShell 中,反斜杠不是转义字符,因此 '[=12=]'
是一个字符串,其后是文字反斜杠后跟字符“0”(ASCII 字符 48)。要获取 ASCII 字符 0,请将整数值 0 转换为字符。
$password.PasswordChar = [char]0
只需分配一个整数值 0 也可以:
$password.PasswordChar = 0
我有以下代码来显示带有文本框和复选框的 GUI:
Add-Type -Assembly 'System.Windows.Forms'
$form = New-Object Windows.Forms.Form
$password = New-Object Windows.Forms.MaskedTextBox
$password.PasswordChar = '*'
$form.Controls.Add($password)
$checkBox2 = New-Object System.Windows.Forms.CheckBox
$checkBox2.add_click($handler_button1_Click)
$form.Controls.Add($checkBox2)
$handler_button1_Click = {
if ($checkBox2.Checked) {
$password.PasswordChar = '[=10=]' // [char][=10=] tried this too
} else {
$password.PasswordChar = '*'
}
}
$form.ShowDialog()
选中复选框时,我正在取消屏蔽字符,但出现异常
Cannot convert value "[=11=]" to type "System.Char". Error: "String must be exactly one character long."
有人可以告诉我如何处理这个问题吗?
在 PowerShell 中,反斜杠不是转义字符,因此 '[=12=]'
是一个字符串,其后是文字反斜杠后跟字符“0”(ASCII 字符 48)。要获取 ASCII 字符 0,请将整数值 0 转换为字符。
$password.PasswordChar = [char]0
只需分配一个整数值 0 也可以:
$password.PasswordChar = 0