繁体   English   中英

powershell windows 表单文本框

[英]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 获得焦点,初始字符串将被删除,并且在文本框中键入的字符会被 '*' 屏蔽。

初始形式

一旦 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM