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

PowerShell WinForms中设置TextBox必填项并添加提示

解决方案:PowerShell WinForms中实现PUID文本框必填校验

直接在按钮的点击事件里做校验就行,Mandatory参数是给控制台函数用的,不适合WinForms界面场景,所以之前的方法只会让控制台等待输入,不会触发界面提示。

实现逻辑:

  • 在按钮的点击事件处理代码开头,先判断PUID文本框的内容是否为空或仅包含空白字符
  • 如果不符合要求,用弹窗提示用户填写,同时让光标回到PUID文本框,然后终止后续逻辑
  • 校验通过后再执行原本的「Verify Legacy Apps Removed」功能

以下是完整示例代码:

# 加载WinForms程序集
Add-Type -AssemblyName System.Windows.Forms

# 创建主窗体
$mainForm = New-Object System.Windows.Forms.Form
$mainForm.Text = "Legacy App Verification"
$mainForm.Size = New-Object System.Drawing.Size(400, 200)
$mainForm.StartPosition = "CenterScreen"

# 创建PUID标签和文本框
$puidLabel = New-Object System.Windows.Forms.Label
$puidLabel.Text = "PUID:"
$puidLabel.Location = New-Object System.Drawing.Point(20, 30)
$puidLabel.AutoSize = $true

$puidTextBox = New-Object System.Windows.Forms.TextBox
$puidTextBox.Location = New-Object System.Drawing.Point(80, 28)
$puidTextBox.Size = New-Object System.Drawing.Size(280, 20)

# 创建验证按钮
$verifyBtn = New-Object System.Windows.Forms.Button
$verifyBtn.Text = "Verify Legacy Apps Removed"
$verifyBtn.Location = New-Object System.Drawing.Point(120, 80)
$verifyBtn.Size = New-Object System.Drawing.Size(160, 30)

# 按钮点击事件处理
$verifyBtn.Add_Click({
    # 校验PUID是否为空
    if ([string]::IsNullOrWhiteSpace($puidTextBox.Text)) {
        [System.Windows.Forms.MessageBox]::Show("请填写PUID字段!", "提示", [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Warning)
        $puidTextBox.Focus() # 自动聚焦到PUID文本框,方便用户输入
        return # 终止后续验证逻辑
    }

    # 校验通过后,执行原有验证逻辑
    Write-Host "开始验证PUID: $($puidTextBox.Text)"
    # 这里替换成你原本的「Verify Legacy Apps Removed」功能代码
    [System.Windows.Forms.MessageBox]::Show("PUID $($puidTextBox.Text) 验证完成!", "结果")
})

# 将控件添加到窗体
$mainForm.Controls.Add($puidLabel)
$mainForm.Controls.Add($puidTextBox)
$mainForm.Controls.Add($verifyBtn)

# 显示窗体
$mainForm.ShowDialog() | Out-Null

这段代码里,点击按钮时会先检查PUID文本框内容,为空就弹出提示并聚焦到文本框,不会执行后续验证逻辑;输入有效内容后才会走正常的验证流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 00:12:09