【问题标题】:Powershell use ErrorProvider value for final form validationPowershell 使用 ErrorProvider 值进行最终表单验证
【发布时间】:2015-07-27 02:34:07
【问题描述】:

使用 Powershell,我有一个 Windows 窗体,可以动态生成多个文本框。我对每个文本框使用验证,然后在验证失败时使用 ErrorProvider 发出警报。

这可以很好地显示错误“!”通知。有没有办法检查剩下多少错误?

我的伪代码会说:

  1. 点击“确定”
  2. 循环遍历每个文本框
  3. 验证每个文本框
  4. 失败则错误/通过则清除错误
  5. 返回
  6. 如果没有更多错误,请关闭表单

或者我是否需要维护一个单独的逻辑来查看错误何时得到纠正? (下面的 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()
    }

})

【问题讨论】:

    标签: winforms powershell errorprovider


    【解决方案1】:

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

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

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

      清除错误: $errTable.remove("$($curTB.name)")

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

      如果 ($errTable.count -le "0") { $form.close() }

    似乎工作得很好,而且很简写。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-03
      • 1970-01-01
      • 2014-12-25
      • 1970-01-01
      • 2018-05-11
      • 2015-06-25
      • 2017-02-04
      • 2015-07-31
      相关资源
      最近更新 更多