通过单选按钮将项目签入列表框

Check item into List box by Radio Button

我试图在单击单选按钮后将项目签入列表框,但没有成功。 具体来说,我正在尝试检查已列出的 Active Directory 组。

我做了这段脚本:

$Action = foreach ($SecurityGroup in $ADSecurityGroup)
                      {
                        $SecurityGroup.Name -eq "AD Example"
                        {
                           [void] $ADGroups.Items.Add($SecurityGroup.Name, $True)
                        }
                      }

添加到 Radio Button 的 Add_Click 后:

$RadioButton.Add_Click($Action)

有人可以帮助我吗?

这是我提供给另一个 OP 的示例,虽然它使用的是列表框和组合框,但前提是通过按钮执行此操作。

Comboxbox到列表的另一个例子 (您可以将组合框更改为您选择的任何表单元素):

Add-Type -AssemblyName System.Drawing

$ComboBox = New-Object System.Windows.Forms.ComboBox
$ComboBox.Location = New-Object System.Drawing.Point(10,10)
$ComboBox.Items.AddRange(@("One","Two"))


$RichTextBox = New-Object System.Windows.Forms.RichTextBox
$RichTextBox.Location = New-Object System.Drawing.Point(10,40)

$Form = New-Object System.Windows.Forms.Form

$Form.Controls.Add($ComboBox)
$Form.Controls.Add($RichTextBox)


$ComboBox.Add_TextChanged({


    # Code here
    switch($ComboBox.Text){
    "One" {$RichTextBox.Text = "This is one"}
    "Two" {$RichTextBox.Text = "This is two"}

    }

})

$Form.ShowDialog()

至于这个...

Specifically, I'm trying to check an Active Directory Group already listed.

...您只需在添加另一项之前进行验证。

我用这个实现了我想要的:

$RadioButton.Add_Click({
                            for ($i = 0; $i -lt $ADGroups.Items.Count; $i++)
                                {
                                    If ($ADGroups.Items[$i] -match 'AD Group that I wanted to change status')
                                        {
                                           $ADGroups.SetItemChecked($i, $true)
                                        }
                                 }
                          })

我发布它以防它对某人有用。

非常感谢!