[英]WIndows Form textbox pass text value to a Powershell Runscript
[英]powershell windows form textbox
我已经使用 Windows 窗体创建了一个 PowerShell GUI。 当我为文本框创建 PasswordChar 时,我正在解决一个问题,这仅在用户单击文本框时才有效。 如果用户使用 TAB 导航到文本框,则 PasswordChar 将不起作用。 我尝试了几件事,但没有成功。 这是我的最新尝试:
$textBox5 = New-Object Windows.Forms.MaskedTextBox
$textBox5.Text = "Enter your Current password:"
$textBox5.Text = $null $textBox5.PasswordChar = '*' })
$textBox5.Add_TabIndexChanged({
$textBox5.Text = "haha" })
$textBox5.Width = 203
$textBox5.Height = 20
$textBox5.location = new-object system.drawing.point(136,94)
$textBox5.Font = "Lucida Bright,10"
$Form.controls.Add($textBox5)
从我从评论中了解到,您正在寻找这样的东西。
$form = New-Object System.Windows.Forms.Form
$textbox1 = New-Object System.Windows.Forms.TextBox
$textbox1.Text = "Text Box 1"
$defaulttext = "Enter Password"
$textbox2 = New-Object System.Windows.Forms.MaskedTextBox
$textbox2.Location = "0,40"
$textbox2.Text = $defaulttext
$textbox2.Add_Gotfocus(
{
if($textbox2.Text -eq $defaulttext){
$textbox2.Text = ""
$textbox2.PasswordChar = "*"
}
}
)
$form.controls.Add($textbox1)
$form.controls.Add($textbox2)
$form.ShowDialog()
此代码创建 2 个文本框。 Textbox2 最初有文本“输入密码”。 一旦 textbox2 获得焦点,初始字符串将被删除,并且在文本框中键入的字符会被 '*' 屏蔽。
最好指定在创建新对象Form之前加载程序集,以免产生Type not found错误
Add-Type -AssemblyName System.Windows.Forms
或者
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.