You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中TextBox输入无法生效问题求助

问题原因与解决方法

你的问题出在变量赋值时机错误:

  • 你在窗体刚创建、文本框还未接收用户输入时,就把$objTextBox.Text和$objTextBox2.Text赋值给了$INT1、$Serial1,此时这两个变量存储的是空值。
  • 点击OK按钮时,事件逻辑里调用的还是这个初始空变量,完全没读取用户后续输入的内容。

解决步骤

把读取文本框内容的代码移到OK按钮的点击事件脚本块内部,这样每次点击按钮时才会获取用户最新输入的值:

修改后的关键代码片段

# OK Button
$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(100,175)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = "OK"
$OKButton.Name = "OK"
#$OKButton.DialogResult = "OK"
$OKButton.Add_Click({
    # 点击按钮时才读取用户输入的最新内容
    $INT1 = $objTextBox.Text
    $Serial1 = $objTextBox2.Text
    Invoke-WebRequest -Uri http://CENSORED.crl -OutFile crl.crl
    $test=certutil.exe -dump crl.crl | Out-String -stream | Select-String -pattern "$Serial1" -Context 0,1
    [void] [Windows.Forms.MessageBox]::Show($test)
})
$objForm.Controls.Add($OKButton)

额外说明:你定义的$INT1在当前代码中未被使用,若后续需要调用该变量,也要采用同样方式在点击事件内获取值。

内容的提问来源于stack exchange,提问作者J0nsan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 01:21:05