【问题标题】:Why aren't my radio button.checked comparisons working?为什么我的单选 button.checked 比较不起作用?
【发布时间】:2019-03-07 04:58:06
【问题描述】:

我正在使用三个单选按钮。无论我选择哪一个,它似乎都默认为第一个。它在实际分配值方面起作用,但第二个单选按钮似乎不起作用。

if ($radDB1.Checked = $true){
    $database = 'EXDB01_005'
}
if($radDB2.Checked = $true){
    $database = 'EXDB02_005'
}
if ($radDB5.Checked = $true){
    $database = 'EXDB01_005'
}

它们被放置在一个组框内,我试图在这里访问:

switch ($grpEXDatabase)
{
    $radDB1.Checked { $database = 'EXDB01_005' }
    $radDB2.Checked { $database = 'EXDB02_005' }
    $radDB5.Checked { $database = 'EXDB01_005' }
}

这不起作用。有人知道这是怎么回事吗?

【问题讨论】:

    标签: powershell user-interface powershell-studio


    【解决方案1】:
    if ($radDB1.Checked -eq $true){
        $database = 'EXDB01_005'
    }
    if($radDB2.Checked -eq $true){
        $database = 'EXDB02_005'
    }
    if ($radDB5.Checked -eq $true){
        $database = 'EXDB01_005'
    }
    

    您的代码的问题在于您在 if 语句中使用了“=”而不是“-eq”。以上应该适用于检查值。否则使用“=”分配一个值,它不会比较它。

    【讨论】:

    • 由于 $radDB5.Checked 应该是布尔值,因此您也不需要输入 -eq $true。只是if ($radDB1.Checked){} 应该可以工作
    • @Sambardo 是真的。我只是想确保指出-eq vs =。这是一个真正的错误。
    • 当然,当我第一次开始使用 PS 时,它让我受益匪浅。我只是想为他补充一点,我认为它更适合作为评论而不是单独的答案。
    • @Sambardo 最终切换到那个。感谢您的回答!
    猜你喜欢
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多