Powershell使用ErrorProvider值进行最终表单验证

时间:2015-07-27 02:34:07

标签: winforms powershell errorprovider

使用Powershell我有一个Windows表单,动态生成几个文本框。我在每个文本框上使用验证,然后使用ErrorProvider警告验证是否失败。

这样可以正常显示错误'!'通知。有没有办法检查剩下多少错误?

我的伪代码会说:

  1. 点击“确定”,然后点击
  2. 循环每个TextBox
  3. 验证每个TextBox
  4. 如果失败则出错/如果通过
  5. 则出现清除错误
  6. 返回
  7. 如果没有错误,请关闭表单
  8. 或者我是否需要维护一个单独的逻辑来查看错误何时得到纠正? (下面的ErrorProvider检查只是一个占位符,我不知道该放什么!)

    $ButtonOK.Add_Click({
    
        $objectList | where {$_ -is [System.Windows.Forms.TextBox] } | foreach-object {
    
        Validate-Input $_
    
        }
    
        if ($ErrorProvider -eq $null) { #This is where I'm stuck
            $Form.Close()
        }
    
    })
    

1 个答案:

答案 0 :(得分:0)

因此从响应here判断,没有内置的方法来引用剩余的错误数量。根据该线程的建议并将其移植到Powershell,我实现了以下内容:

  1. 定义哈希表以存储每个对象的错误状态
  2. 设置或清除错误时,请使用以下命令:

    设置错误: $ errTable.set_item( “$($ curTB.name)”, “1”)

    清除错误 $ errTable.remove( “$($ curTB.name)”)

  3. 在“add_click”部分中使用以下代码:

    if($ errTable.count -le“0”){     $ form.close() }

  4. 似乎运作良好并且非常简便。