Powershell - 检查文本框内容是否已更改

时间:2014-09-23 12:22:16

标签: winforms events powershell textbox

我是否可以检查文本框的内容是否已更改?

比如说,我做了一个文本框:

$InputBox1 = New-Object System.Windows.Forms.TextBox 
$InputBox1.Location = New-Object System.Drawing.Size(20,50) 
$InputBox1.Size = New-Object System.Drawing.Size(150,20) 
$objForm.Controls.Add($InputBox1) 

然后我将输出设置为文本框:

 $InputBox1.text= "Hello"

我想知道是否有一个事件处理程序可以检测文本框的内容是否已经更改(在GUI中初始加载后 - 也就是说,当InputBox1.text变为!= Hello时)

它必须实时检测 - 这意味着只要用户单击文本框并改变内容,就会引发一个事件,可以作为修改代码其他部分的条件。

我需要做的基本细分:

  1. 从Active Directory获取值(即帐户名)
  2. 已加载UI。帐户名称已加载到文本框中。
  3. 如果用户修改了文本框的内容,请启用按钮以允许保存新值。
  4. 我有一个工作代码,它存储当前值并将整个函数放入“等待文本更改”循环,但我正在寻找一种更优雅的方法来完成它。

1 个答案:

答案 0 :(得分:1)

在这里参加聚会很晚,但是您可以使用TextBox对象上的 Add_TextChanged()方法轻松实现这一目标。

$InputBox1.Add_TextChanged({Write-Host "Text changed, do something"})