我有一个Powershell脚本表单,当我按Tab键在表单中移动或单击文本框时,我试图选择inputbox1和inputbox2中的所有文本。看起来很简单,但是到目前为止我还没有运气。
点击事件是否需要某个鼠标处理程序功能?
$InputBox = New-Object System.Windows.Forms.TextBox
$InputBox.Location = New-Object System.Drawing.Size(200,40)
$InputBox.Size = New-Object System.Drawing.Size(150,40)
$Form.Controls.Add($InputBox)
$InputBox2 = New-Object System.Windows.Forms.TextBox
$InputBox2.Location = New-Object System.Drawing.Size(200,65)
$InputBox2.Size = New-Object System.Drawing.Size(150,40)
$Form.Controls.Add($InputBox2)
$InputBox3 = New-Object System.Windows.Forms.TextBox
$InputBox3.Location = New-Object System.Drawing.Size(10,15)
$InputBox3.Size = New-Object System.Drawing.Size(340,20)
$InputBox3.text = $result
$Form.Controls.Add($InputBox3)
$outputBox = New-Object System.Windows.Forms.TextBox
$outputBox.Location = New-Object System.Drawing.Size(10,90)
$outputBox.Size = New-Object System.Drawing.Size(490,400)
$outputBox.MultiLine = $True
$outputBox.ScrollBars = "Vertical"
$Form.Controls.Add($outputBox)
答案 0 :(得分:0)
通常PoshGui及其GUI编辑器通常都不是广告非Microsoft的第三方站点的工具,但是使用Powershell初始学习Windows窗体的一种很好的工具。对于单击事件,您可以使用以下方法为输入框创建函数:
Copy_Text_All_Input_Boxes()
{
$clipboard = ""
$clipboard += $TextBoxExample.text
#$clipboard += $AnotherTextBoxExample.text
Set-Clipboard -Value $clipboard
}
#... Define text boxes
$TextBoxExample.Add_Click({Copy_Text_All_Input_Boxes()})
通过按下选项卡,我知道还有一个Add_Keypress
事件也可以使用。
答案 1 :(得分:0)
如果我对问题的理解正确,则您想在导航至文本框时选择文本框的内容,方法是使用(Shift)选项卡,或者单击它们。
这可以通过在每个文本框中添加两个事件处理程序脚本块来完成:
当使用 TAB 键进入框时,第一个将处理文本的选择:
$InputBox.Add_Gotfocus( { $this.SelectAll(); $this.Focus() })
第二个鼠标在文本框中单击鼠标时会执行相同的操作:
$InputBox.Add_Click( { $this.SelectAll(); $this.Focus() })
对所有文本框执行此操作,然后再将其添加到表单中。
P.S。使用$Form.Dispose()